[INFO] fetching crate ovpnfile 0.1.2... [INFO] testing ovpnfile-0.1.2 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate ovpnfile 0.1.2 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate ovpnfile 0.1.2 [INFO] finished tweaking crates.io crate ovpnfile 0.1.2 [INFO] tweaked toml for crates.io crate ovpnfile 0.1.2 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ovpnfile 0.1.2 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 46 packages to latest compatible versions [INFO] [stderr] Adding error-chain v0.10.0 (available: v0.12.4) [INFO] [stderr] Adding lazy_static v0.2.11 (available: v1.5.0) [INFO] [stderr] Adding regex v0.2.11 (available: v1.11.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded spectral v0.6.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0cc246d69e9fedb429ce4a10e0afa4a55512bf2845186c21975198cf7649584d [INFO] running `Command { std: "docker" "start" "-a" "0cc246d69e9fedb429ce4a10e0afa4a55512bf2845186c21975198cf7649584d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0cc246d69e9fedb429ce4a10e0afa4a55512bf2845186c21975198cf7649584d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0cc246d69e9fedb429ce4a10e0afa4a55512bf2845186c21975198cf7649584d", kill_on_drop: false }` [INFO] [stdout] 0cc246d69e9fedb429ce4a10e0afa4a55512bf2845186c21975198cf7649584d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 37cd32b8206111b7f591ba20c4f95d3add1ca0159113502ae11199c1bc27160d [INFO] running `Command { std: "docker" "start" "-a" "37cd32b8206111b7f591ba20c4f95d3add1ca0159113502ae11199c1bc27160d", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling rustc-demangle v0.1.25 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling ucd-util v0.1.10 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling utf8-ranges v1.0.5 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling error-chain v0.10.0 [INFO] [stderr] Compiling ovpnfile v0.1.2 (/opt/rustwide/workdir) [INFO] [stdout] {"reason":"compiler-message","package_id":"path+file:///opt/rustwide/workdir#ovpnfile@0.1.2","manifest_path":"/opt/rustwide/workdir/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ovpnfile","src_path":"/opt/rustwide/workdir/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"message":{"$message_type":"diagnostic","message":"unexpected `cfg` condition value: `cargo-clippy`","code":{"code":"unexpected_cfgs","explanation":null},"level":"warning","spans":[{"file_name":"src/config_directive.rs","byte_start":2238,"byte_end":2260,"line_start":62,"line_end":62,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"no expected values for `feature`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider adding `cargo-clippy` as a feature in `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"see for more information about checking conditional configuration","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"`#[warn(unexpected_cfgs)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the condition","code":null,"level":"help","spans":[{"file_name":"src/config_directive.rs","byte_start":2238,"byte_end":2260,"line_start":62,"line_end":62,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unexpected `cfg` condition value: `cargo-clippy`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/config_directive.rs:62:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m62\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: remove the condition\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mdefine_config_directives!{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"help\", rust_name: Help, args: [], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"config\", rust_name: Config, args: [file], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m736\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m737\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: no expected values for `feature`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: consider adding `cargo-clippy` as a feature in `Cargo.toml`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: see for more information about checking conditional configuration\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unexpected_cfgs)]` on by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `define_config_directives` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}} [INFO] [stdout] {"reason":"compiler-message","package_id":"path+file:///opt/rustwide/workdir#ovpnfile@0.1.2","manifest_path":"/opt/rustwide/workdir/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ovpnfile","src_path":"/opt/rustwide/workdir/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"message":{"$message_type":"diagnostic","message":"unexpected `cfg` condition value: `cargo-clippy`","code":{"code":"unexpected_cfgs","explanation":null},"level":"warning","spans":[{"file_name":"src/config_directive.rs","byte_start":2862,"byte_end":2884,"line_start":72,"line_end":72,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"no expected values for `feature`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider adding `cargo-clippy` as a feature in `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"see for more information about checking conditional configuration","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the condition","code":null,"level":"help","spans":[{"file_name":"src/config_directive.rs","byte_start":2862,"byte_end":2884,"line_start":72,"line_end":72,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unexpected `cfg` condition value: `cargo-clippy`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/config_directive.rs:72:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m72\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: remove the condition\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mdefine_config_directives!{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"help\", rust_name: Help, args: [], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"config\", rust_name: Config, args: [file], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m736\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m737\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: no expected values for `feature`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: consider adding `cargo-clippy` as a feature in `Cargo.toml`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: see for more information about checking conditional configuration\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `define_config_directives` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}} [INFO] [stdout] {"reason":"compiler-message","package_id":"path+file:///opt/rustwide/workdir#ovpnfile@0.1.2","manifest_path":"/opt/rustwide/workdir/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ovpnfile","src_path":"/opt/rustwide/workdir/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"message":{"$message_type":"diagnostic","message":"unexpected `cfg` condition value: `cargo-clippy`","code":{"code":"unexpected_cfgs","explanation":null},"level":"warning","spans":[{"file_name":"src/config_directive.rs","byte_start":3228,"byte_end":3250,"line_start":80,"line_end":80,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"no expected values for `feature`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider adding `cargo-clippy` as a feature in `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"see for more information about checking conditional configuration","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the condition","code":null,"level":"help","spans":[{"file_name":"src/config_directive.rs","byte_start":3228,"byte_end":3250,"line_start":80,"line_end":80,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unexpected `cfg` condition value: `cargo-clippy`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/config_directive.rs:80:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m80\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: remove the condition\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mdefine_config_directives!{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"help\", rust_name: Help, args: [], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"config\", rust_name: Config, args: [file], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m736\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m737\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: no expected values for `feature`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: consider adding `cargo-clippy` as a feature in `Cargo.toml`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: see for more information about checking conditional configuration\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `define_config_directives` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}} [INFO] [stdout] {"reason":"compiler-message","package_id":"path+file:///opt/rustwide/workdir#ovpnfile@0.1.2","manifest_path":"/opt/rustwide/workdir/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ovpnfile","src_path":"/opt/rustwide/workdir/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"message":{"$message_type":"diagnostic","message":"unexpected `cfg` condition value: `cargo-clippy`","code":{"code":"unexpected_cfgs","explanation":null},"level":"warning","spans":[{"file_name":"src/config_directive.rs","byte_start":3748,"byte_end":3770,"line_start":90,"line_end":90,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"no expected values for `feature`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider adding `cargo-clippy` as a feature in `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"see for more information about checking conditional configuration","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the condition","code":null,"level":"help","spans":[{"file_name":"src/config_directive.rs","byte_start":3748,"byte_end":3770,"line_start":90,"line_end":90,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unexpected `cfg` condition value: `cargo-clippy`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/config_directive.rs:90:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m90\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: remove the condition\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mdefine_config_directives!{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"help\", rust_name: Help, args: [], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"config\", rust_name: Config, args: [file], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m736\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m737\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: no expected values for `feature`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: consider adding `cargo-clippy` as a feature in `Cargo.toml`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: see for more information about checking conditional configuration\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `define_config_directives` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}} [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/lib.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / lazy_static! { [INFO] [stdout] 145 | | static ref COMMENT_REGEX: Regex = Regex::new(r"#.*$").unwrap(); [INFO] [stdout] 146 | | static ref INLINE_START_REGEX: Regex = Regex::new(r"^<(\S+)>").unwrap(); [INFO] [stdout] 147 | | static ref INLINE_END_REGEX: Regex = Regex::new(r"^").unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 163 | | }; [INFO] [stdout] 164 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/lib.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / lazy_static! { [INFO] [stdout] 145 | | static ref COMMENT_REGEX: Regex = Regex::new(r"#.*$").unwrap(); [INFO] [stdout] 146 | | static ref INLINE_START_REGEX: Regex = Regex::new(r"^<(\S+)>").unwrap(); [INFO] [stdout] 147 | | static ref INLINE_END_REGEX: Regex = Regex::new(r"^").unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 163 | | }; [INFO] [stdout] 164 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/lib.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / lazy_static! { [INFO] [stdout] 145 | | static ref COMMENT_REGEX: Regex = Regex::new(r"#.*$").unwrap(); [INFO] [stdout] 146 | | static ref INLINE_START_REGEX: Regex = Regex::new(r"^<(\S+)>").unwrap(); [INFO] [stdout] 147 | | static ref INLINE_END_REGEX: Regex = Regex::new(r"^").unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 163 | | }; [INFO] [stdout] 164 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/lib.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / lazy_static! { [INFO] [stdout] 145 | | static ref COMMENT_REGEX: Regex = Regex::new(r"#.*$").unwrap(); [INFO] [stdout] 146 | | static ref INLINE_START_REGEX: Regex = Regex::new(r"^<(\S+)>").unwrap(); [INFO] [stdout] 147 | | static ref INLINE_END_REGEX: Regex = Regex::new(r"^").unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 163 | | }; [INFO] [stdout] 164 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.05s [INFO] running `Command { std: "docker" "inspect" "37cd32b8206111b7f591ba20c4f95d3add1ca0159113502ae11199c1bc27160d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37cd32b8206111b7f591ba20c4f95d3add1ca0159113502ae11199c1bc27160d", kill_on_drop: false }` [INFO] [stdout] 37cd32b8206111b7f591ba20c4f95d3add1ca0159113502ae11199c1bc27160d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5c5d7da7707e7aa8d3c64c9b12f5b3042c8b317aa1de497bc2f6189e5e753d70 [INFO] running `Command { std: "docker" "start" "-a" "5c5d7da7707e7aa8d3c64c9b12f5b3042c8b317aa1de497bc2f6189e5e753d70", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling num-bigint v0.1.45 [INFO] [stderr] Compiling rustc-serialize v0.3.25 [INFO] [stderr] Compiling num-rational v0.1.43 [INFO] [stderr] Compiling num-complex v0.1.44 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stdout] {"reason":"compiler-message","package_id":"path+file:///opt/rustwide/workdir#ovpnfile@0.1.2","manifest_path":"/opt/rustwide/workdir/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ovpnfile","src_path":"/opt/rustwide/workdir/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"message":{"$message_type":"diagnostic","message":"unexpected `cfg` condition value: `cargo-clippy`","code":{"code":"unexpected_cfgs","explanation":null},"level":"warning","spans":[{"file_name":"src/config_directive.rs","byte_start":2238,"byte_end":2260,"line_start":62,"line_end":62,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"no expected values for `feature`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider adding `cargo-clippy` as a feature in `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"see for more information about checking conditional configuration","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"`#[warn(unexpected_cfgs)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the condition","code":null,"level":"help","spans":[{"file_name":"src/config_directive.rs","byte_start":2238,"byte_end":2260,"line_start":62,"line_end":62,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":16429,"byte_end":18242,"line_start":421,"line_end":467,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File, $($oargs: Option, )*},","highlight_start":1,"highlight_end":72},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" let filename = File::FilePath($pargs[0].to_string());","highlight_start":1,"highlight_end":82},{"text":" let mut i = 1;","highlight_start":1,"highlight_end":43},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":87},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: filename,","highlight_start":1,"highlight_end":48},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":52},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path), ..} => {","highlight_start":1,"highlight_end":85},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(..), ..} => {","highlight_start":1,"highlight_end":89},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone()) })*","highlight_start":1,"highlight_end":93},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":12964,"byte_end":14383,"line_start":317,"line_end":358,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Option>},","highlight_start":1,"highlight_end":61},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() > 0 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: Some($pargs.iter().map(|s| s.to_string()).collect()),","highlight_start":1,"highlight_end":96},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: None,","highlight_start":1,"highlight_end":48},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" if let Some(ref args) = *$argname {","highlight_start":1,"highlight_end":60},{"text":" args.clone()","highlight_start":1,"highlight_end":41},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" Vec::new()","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":11448,"byte_end":12602,"line_start":270,"line_end":305,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $argname: Vec},","highlight_start":1,"highlight_end":53},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() == 0 {","highlight_start":1,"highlight_end":47},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $argname: $pargs.iter().map(|s| s.to_string()).collect(),","highlight_start":1,"highlight_end":90},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{ref $argname} => {","highlight_start":1,"highlight_end":63},{"text":" $argname.clone()","highlight_start":1,"highlight_end":41},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":14724,"byte_end":16015,"line_start":370,"line_end":408,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { file: File},","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" if $pargs.len() < 1 {","highlight_start":1,"highlight_end":46},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" file: File::FilePath($pargs[0].to_string()),","highlight_start":1,"highlight_end":77},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{file: File::FilePath(ref path)} => {","highlight_start":1,"highlight_end":81},{"text":" vec!(path.clone())","highlight_start":1,"highlight_end":43},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" ConfigDirective::$rname{file: File::InlineFileContents(_)} => {","highlight_start":1,"highlight_end":84},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{..} => {","highlight_start":1,"highlight_end":53},{"text":" Vec::new()","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":9036,"byte_end":11104,"line_start":209,"line_end":258,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname { $( $args: String, )* $( $oargs: Option, )* },","highlight_start":1,"highlight_end":83},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => {","highlight_start":1,"highlight_end":32},{"text":" let num_required_args = define_config_directives!(@count $($args),*);","highlight_start":1,"highlight_end":94},{"text":" if $pargs.len() < num_required_args {","highlight_start":1,"highlight_end":62},{"text":" LineParseResult::NotEnoughArguments","highlight_start":1,"highlight_end":64},{"text":" } else {","highlight_start":1,"highlight_end":33},{"text":" // This trickery is because macros can't count with","highlight_start":1,"highlight_end":80},{"text":" // regular integers. We'll just use a mutable index","highlight_start":1,"highlight_end":81},{"text":" // instead.","highlight_start":1,"highlight_end":40},{"text":" let mut i = 0;","highlight_start":1,"highlight_end":43},{"text":" $(let $args = $pargs[i].into(); i += 1;)*","highlight_start":1,"highlight_end":70},{"text":" $(let $oargs = $pargs.get(i).map(|&s| s.into()); i += 1;)*","highlight_start":1,"highlight_end":91},{"text":" let _ = i; // avoid unused assignment warnings.","highlight_start":1,"highlight_end":80},{"text":"","highlight_start":1,"highlight_end":1},{"text":" LineParseResult::Success(ConfigDirective::$rname {","highlight_start":1,"highlight_end":79},{"text":" $($args: $args,)*","highlight_start":1,"highlight_end":50},{"text":" $($oargs: $oargs,)*","highlight_start":1,"highlight_end":56},{"text":" })","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname{..} => $sname,","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname{$(ref $args,)*..} => {","highlight_start":1,"highlight_end":67},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(_result.push($args.clone());)*","highlight_start":1,"highlight_end":57},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname{$(ref $oargs,)* ..} => {","highlight_start":1,"highlight_end":69},{"text":" let mut _result = Vec::new();","highlight_start":1,"highlight_end":54},{"text":" $(if let Some(ref thing) = *$oargs { _result.push(thing.clone())})*","highlight_start":1,"highlight_end":92},{"text":" _result","highlight_start":1,"highlight_end":36},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":7966,"byte_end":8627,"line_start":172,"line_end":195,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" define_config_directives! {","highlight_start":9,"highlight_end":36},{"text":" @parse","highlight_start":1,"highlight_end":19},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($eout)*","highlight_start":1,"highlight_end":26},{"text":" $rname,","highlight_start":1,"highlight_end":28},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" ($pargs){","highlight_start":1,"highlight_end":22},{"text":" $($pout)*","highlight_start":1,"highlight_end":26},{"text":" $sname => LineParseResult::Success(ConfigDirective::$rname),","highlight_start":1,"highlight_end":81},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($commandname_out)*","highlight_start":1,"highlight_end":37},{"text":" ConfigDirective::$rname => $sname,","highlight_start":1,"highlight_end":55},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($argsout)*","highlight_start":1,"highlight_end":29},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" },","highlight_start":1,"highlight_end":15},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" $($oargsout)*","highlight_start":1,"highlight_end":30},{"text":" ConfigDirective::$rname => Vec::new(),","highlight_start":1,"highlight_end":59},{"text":" };","highlight_start":1,"highlight_end":15},{"text":" $($tail)*","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":1114,"byte_end":1192,"line_start":33,"line_end":33,"column_start":9,"column_end":87,"is_primary":false,"text":[{"text":" define_config_directives! { @parse {}, (args){}, {}, {}, {}; $({$($cmd)*},)* }","highlight_start":9,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/config_directive.rs","byte_start":18253,"byte_end":41394,"line_start":471,"line_end":737,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"define_config_directives!{","highlight_start":1,"highlight_end":27},{"text":" {command: \"help\", rust_name: Help, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"config\", rust_name: Config, args: [file], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"local\", rust_name: Local, args: [host], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote\", rust_name: Remote, args: [host], optional_args: [port, proto]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"remote-random-hostname\", rust_name: RemoteRandomHostname, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"proto-force\", rust_name: ProtoForce, args: [p], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"remote-random\", rust_name: RemoteRandom, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"proto\", rust_name: Proto, args: [p], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"connect-retry\", rust_name: ConnectRetry, args: [n], optional_args: [max]},","highlight_start":1,"highlight_end":90},{"text":" {command: \"connect-retry-max\", rust_name: ConnectRetryMax, args: [n], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"show-proxy-settings\", rust_name: ShowProxySettings, args: [], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"http-proxy\", rust_name: HttpProxy, args: [server, port], optional_args: [authfile_or_auto_or_auto_nct, auth_method]},","highlight_start":1,"highlight_end":133},{"text":" {command: \"http-proxy-option\", rust_name: HttpProxyOption, args: [http_proxy_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":119},{"text":" {command: \"http-proxy-user-type\", rust_name: HttpProxyUserPass, inline_file: true},","highlight_start":1,"highlight_end":88},{"text":" {command: \"socks-proxy\", rust_name: SocksProxy, args: [server], optional_args: [port, authfile]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"resolv-retry\", rust_name: ResolvRetry, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"float\", rust_name: Float, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"ipchange\", rust_name: Ipchange, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"port\", rust_name: Port, args: [port], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"lport\", rust_name: Lport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"rport\", rust_name: Rport, args: [port], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"bind\", rust_name: Bind, args: [], optional_args: [ipv6only]},","highlight_start":1,"highlight_end":77},{"text":" {command: \"nobind\", rust_name: Nobind, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev\", rust_name: Dev, args: [devarg], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"dev-type\", rust_name: DevType, args: [device_type], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"topology\", rust_name: Topology, args: [mode], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"dev-node\", rust_name: DevNode, args: [node], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"lladdr\", rust_name: Lladdr, args: [address], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"iproute\", rust_name: Iproute, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ifconfig\", rust_name: Ifconfig, args: [l, rn], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"ifconfig-noexec\", rust_name: IfconfigNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-nowarn\", rust_name: IfconfigNowarn, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route\", rust_name: Route, args: [network_or_ip], optional_args: [netmask, gateway, metric]},","highlight_start":1,"highlight_end":108},{"text":" {command: \"route-gateway\", rust_name: RouteGateway, args: [gw_or_dhcp], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"route-metric\", rust_name: RouteMetric, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"route-delay\", rust_name: RouteDelay, args: [], optional_args: [n, w]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"route-up\", rust_name: RouteUp, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"route-pre-down\", rust_name: RoutePreDown, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"route-noexec\", rust_name: RouteNoexec, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"route-nopull\", rust_name: RouteNopull, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"allow-pull-fqdn\", rust_name: AllowPullFqdn, args: [], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"client-nat\", rust_name: ClientNat, args: [snat_or_dnat, network, netmask, alias], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"redirect-gateway\", rust_name: RedirectGateway, varargs: flags},","highlight_start":1,"highlight_end":79},{"text":" {command: \"link-mtu\", rust_name: LinkMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"redirect-private\", rust_name: RedirectPrivate, optional_varargs: flags},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tun-mtu\", rust_name: TunMtu, args: [n], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"tun-mtu-extra\", rust_name: TunMtuExtra, args: [n], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"mtu-disc\", rust_name: MtuDisc, args: [mtu_disc_type], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mtu-test\", rust_name: MtuTest, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"fragment\", rust_name: Fragment, args: [max], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"mssfix\", rust_name: Mssfix, args: [max], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"sndbuf\", rust_name: Sndbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"rcvbuf\", rust_name: Rcvbuf, args: [size], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"mark\", rust_name: Mark, args: [value], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"socket-flags\", rust_name: SocketFlags, varargs: flags},","highlight_start":1,"highlight_end":71},{"text":" {command: \"txqueuelen\", rust_name: Txqueuelen, args: [n], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"shaper\", rust_name: Shaper, args: [n], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"inactive\", rust_name: Inactive, args: [n], optional_args: [bytes]},","highlight_start":1,"highlight_end":83},{"text":" {command: \"ping\", rust_name: Ping, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"ping-exit\", rust_name: PingExit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"ping-restart\", rust_name: PingRestart, args: [n], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"keepalive\", rust_name: Keepalive, args: [interval, timeout], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ping-timer-rem\", rust_name: PingTimerRem, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"persist-tun\", rust_name: PersistTun, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-key\", rust_name: PersistKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"persist-local-ip\", rust_name: PersistLocalIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"persist-remote-ip\", rust_name: PersistRemoteIp, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"mlock\", rust_name: Mlock, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"up\", rust_name: Up, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"up-delay\", rust_name: UpDelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"down\", rust_name: Down, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"down-pre\", rust_name: DownPre, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"up-restart\", rust_name: UpRestart, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"setenv\", rust_name: Setenv, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"setenv-safe\", rust_name: SetenvSafe, args: [name, value], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ignore-unknown-option\", rust_name: IgnoreUnknownOption, varargs: opts},","highlight_start":1,"highlight_end":87},{"text":" {command: \"script-security\", rust_name: ScriptSecurity, args: [level], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"disable-occ\", rust_name: DisableOcc, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"user\", rust_name: User, args: [user], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"group\", rust_name: Group, args: [group], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"cd\", rust_name: Cd, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":68},{"text":" {command: \"chroot\", rust_name: Chroot, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"setcon\", rust_name: Setcon, args: [context], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"daemon\", rust_name: Daemon, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"syslog\", rust_name: Syslog, args: [], optional_args: [progname]},","highlight_start":1,"highlight_end":81},{"text":" {command: \"errors-to-stderr\", rust_name: ErrorsToStderr, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"passtos\", rust_name: Passtos, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"inetd\", rust_name: Inetd, args: [], optional_args: [wait_or_nowait, progname]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"log\", rust_name: Log, args: [file], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"log-append\", rust_name: LogAppend, args: [file], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"suppress-timestamps\", rust_name: SuppressTimestamps, args: [], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"machine-readable-output\", rust_name: MachineReadableOutput, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"writepid\", rust_name: Writepid, args: [file], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"nice\", rust_name: Nice, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"fast-io\", rust_name: FastIo, args: [], optional_args: []},","highlight_start":1,"highlight_end":74},{"text":" {command: \"multihome\", rust_name: Multihome, args: [], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"echo\", rust_name: Echo, optional_varargs: parms},","highlight_start":1,"highlight_end":65},{"text":" {command: \"remap-usr1\", rust_name: RemapUsr1, args: [signal], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"verb\", rust_name: Verb, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"status\", rust_name: Status, args: [file], optional_args: [n]},","highlight_start":1,"highlight_end":78},{"text":" {command: \"status-version\", rust_name: StatusVersion, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"mute\", rust_name: Mute, args: [n], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"compress\", rust_name: Compress, args: [], optional_args: [algorithm]},","highlight_start":1,"highlight_end":86},{"text":" {command: \"comp-lzo\", rust_name: CompLzo, args: [], optional_args: [mode]},","highlight_start":1,"highlight_end":80},{"text":" {command: \"comp-noadapt\", rust_name: CompNoadapt, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"management\", rust_name: Management, args: [ip, port], optional_args: [pw_file]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"management-client\", rust_name: ManagementClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-query-passwords\", rust_name: ManagementQueryPasswords, args: [], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"management-query-proxy\", rust_name: ManagementQueryProxy, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-query-remote\", rust_name: ManagementQueryRemote, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-key\", rust_name: ManagementExternalKey, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"management-external-cert\", rust_name: ManagementExternalCert, args: [certificate_hint], optional_args: []},","highlight_start":1,"highlight_end":123},{"text":" {command: \"management-forget-disconnect\", rust_name: ManagementForgetDisconnect, args: [], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"management-hold\", rust_name: ManagementHold, args: [], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"management-signal\", rust_name: ManagementSignal, args: [], optional_args: []},","highlight_start":1,"highlight_end":94},{"text":" {command: \"management-log-cache\", rust_name: ManagementLogCache, args: [n], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"management-up-down\", rust_name: ManagementUpDown, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"management-client-auth\", rust_name: ManagementClientAuth, args: [], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"management-client-pf\", rust_name: ManagementClientPf, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"management-client-user\", rust_name: ManagementClientUser, args: [u], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"management-client-group\", rust_name: ManagementClientGroup, args: [g], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"plugin\", rust_name: Plugin, args: [module_pathname], optional_args: [init_string]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"keying-material-exporter\", rust_name: KeyingMaterialExporter, args: [label, len], optional_args: []},","highlight_start":1,"highlight_end":117},{"text":" {command: \"server\", rust_name: Server, args: [network, netmask], optional_args: [nopool]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"push\", rust_name: Push, args: [option], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"push-reset\", rust_name: PushReset, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"push-remove\", rust_name: PushRemove, args: [opt], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"push-peer-info\", rust_name: PushPeerInfo, args: [], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"disable\", rust_name: Disable, args: [], optional_args: []},","highlight_start":1,"highlight_end":75},{"text":" {command: \"ifconfig-pool\", rust_name: IfconfigPool, args: [start_ip, end_ip], optional_args: [netmask]},","highlight_start":1,"highlight_end":109},{"text":" {command: \"ifconfig-pool-persist\", rust_name: IfconfigPoolPersist, args: [file], optional_args: [seconds]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"ifconfig-pool-linear\", rust_name: IfconfigPoolLinear, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"ifconfig-push\", rust_name: IfconfigPush, args: [local, remote_netmask], optional_args: [alias]},","highlight_start":1,"highlight_end":112},{"text":" {command: \"iroute\", rust_name: Iroute, args: [network], optional_args: [netmask]},","highlight_start":1,"highlight_end":87},{"text":" {command: \"client-to-client\", rust_name: ClientToClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"duplicate-cn\", rust_name: DuplicateCn, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"client-connect\", rust_name: ClientConnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"client-disconnect\", rust_name: ClientDisconnect, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":97},{"text":" {command: \"client-config-dir\", rust_name: ClientConfigDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"ccd-exclusive\", rust_name: CcdExclusive, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"tmp-dir\", rust_name: TmpDir, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":77},{"text":" {command: \"hash-size\", rust_name: HashSize, args: [r, v], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"bcast-buffers\", rust_name: BcastBuffers, args: [n], optional_args: []},","highlight_start":1,"highlight_end":87},{"text":" {command: \"tcp-queue-limit\", rust_name: TcpQueueLimit, args: [n], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"tcp-nodelay\", rust_name: TcpNodelay, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"max-clients\", rust_name: MaxClients, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"max-routes-per-client\", rust_name: MaxRoutesPerClient, args: [n], optional_args: []},","highlight_start":1,"highlight_end":101},{"text":" {command: \"stale-routes-check\", rust_name: StaleRoutesCheck, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":97},{"text":" {command: \"connect-freq\", rust_name: ConnectFreq, args: [n, sec], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"learn-address\", rust_name: LearnAddress, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-user-pass-verify\", rust_name: AuthUserPassVerify, args: [cmd, method], optional_args: []},","highlight_start":1,"highlight_end":111},{"text":" {command: \"auth-gen-token\", rust_name: AuthGenToken, args: [], optional_args: [lifetime]},","highlight_start":1,"highlight_end":95},{"text":" {command: \"opt-verify\", rust_name: OptVerify, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"auth-user-pass-optional\", rust_name: AuthUserPassOptional, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"client-cert-not-required\", rust_name: ClientCertNotRequired, args: [], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-client-cert\", rust_name: VerifyClientCert, args: [none_optional_require], optional_args: []},","highlight_start":1,"highlight_end":116},{"text":" {command: \"username-as-common-name\", rust_name: UsernameAsCommonName, args: [], optional_args: []},","highlight_start":1,"highlight_end":104},{"text":" {command: \"compat-names\", rust_name: CompatNames, args: [], optional_args: [no_remapping]},","highlight_start":1,"highlight_end":96},{"text":" {command: \"no-name-remapping\", rust_name: NoNameRemapping, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"port-share\", rust_name: PortShare, args: [host, port], optional_args: [dir]},","highlight_start":1,"highlight_end":93},{"text":" {command: \"client\", rust_name: Client, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"pull\", rust_name: Pull, args: [], optional_args: []},","highlight_start":1,"highlight_end":69},{"text":" {command: \"pull-filter\", rust_name: PullFilter, args: [accept_or_ignore_or_reject, text], optional_args: []},","highlight_start":1,"highlight_end":114},{"text":" {command: \"auth-user-pass\", rust_name: AuthUserPass, args: [], optional_args: [up]},","highlight_start":1,"highlight_end":89},{"text":" {command: \"auth-retry\", rust_name: AuthRetry, args: [auth_retry_type], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"static-challenge\", rust_name: StaticChallenge, args: [t, e], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"server-poll-timeout\", rust_name: ServerPollTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"connect-timeout\", rust_name: ConnectTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":91},{"text":" {command: \"explicit-exit-notify\", rust_name: ExplicitExitNotify, args: [], optional_args: [n]},","highlight_start":1,"highlight_end":100},{"text":" {command: \"allow-recursive-routing\", rust_name: AllowRecursiveRouting, args: [], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"secret\", rust_name: Secret, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":91},{"text":" {command: \"key-direction\", rust_name: KeyDirection, args: [direction], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"auth\", rust_name: Auth, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":72},{"text":" {command: \"cipher\", rust_name: Cipher, args: [alg], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"ncp-ciphers\", rust_name: NcpCiphers, args: [cipher_list], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"ncp-disable\", rust_name: NcpDisable, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"keysize\", rust_name: Keysize, args: [n], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"prng\", rust_name: Prng, args: [alg], optional_args: [nsl]},","highlight_start":1,"highlight_end":75},{"text":" {command: \"engine\", rust_name: Engine, args: [], optional_args: [engine_name]},","highlight_start":1,"highlight_end":84},{"text":" {command: \"no-replay\", rust_name: NoReplay, args: [], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"replay-window\", rust_name: ReplayWindow, args: [n], optional_args: [t]},","highlight_start":1,"highlight_end":88},{"text":" {command: \"mute-replay-warnings\", rust_name: MuteReplayWarnings, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"replay-persist\", rust_name: ReplayPersist, args: [file], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"no-iv\", rust_name: NoIv, args: [], optional_args: []},","highlight_start":1,"highlight_end":70},{"text":" {command: \"use-prediction-resistance\", rust_name: UsePredictionResistance, args: [], optional_args: []},","highlight_start":1,"highlight_end":109},{"text":" {command: \"test-crypto\", rust_name: TestCrypto, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"tls-auth\", rust_name: TlsAuth, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":94},{"text":" {command: \"tls-server\", rust_name: TlsServer, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"tls-client\", rust_name: TlsClient, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"ca\", rust_name: Ca, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"capath\", rust_name: Capath, args: [dir], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"dh\", rust_name: Dh, inline_file: true},","highlight_start":1,"highlight_end":55},{"text":" {command: \"ecdh-curve\", rust_name: EcdhCurve, args: [name], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cert\", rust_name: Cert, inline_file: true},","highlight_start":1,"highlight_end":59},{"text":" {command: \"extra-certs\", rust_name: ExtraCerts, inline_file: true},","highlight_start":1,"highlight_end":72},{"text":" {command: \"key\", rust_name: Key, inline_file: true},","highlight_start":1,"highlight_end":57},{"text":" {command: \"tls-version-min\", rust_name: TlsVersionMin, args: [version], optional_args: [or_highest]},","highlight_start":1,"highlight_end":106},{"text":" {command: \"tls-version-max\", rust_name: TlsVersionMax, args: [version], optional_args: []},","highlight_start":1,"highlight_end":96},{"text":" {command: \"pkcs12\", rust_name: Pkcs12, inline_file: true},","highlight_start":1,"highlight_end":63},{"text":" {command: \"verify-hash\", rust_name: VerifyHash, args: [hash], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"pkcs11-cert-private\", rust_name: Pkcs11CertPrivate, varargs: providers},","highlight_start":1,"highlight_end":88},{"text":" {command: \"pkcs11-id\", rust_name: Pkcs11Id, args: [name], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"pkcs11-id-management\", rust_name: Pkcs11IdManagement, args: [], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"pkcs11-pin-cache\", rust_name: Pkcs11PinCache, args: [seconds], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"pkcs11-protected-authentication\", rust_name: Pkcs11ProtectedAuthentication, varargs: providers},","highlight_start":1,"highlight_end":112},{"text":" {command: \"pkcs11-providers\", rust_name: Pkcs11Providers, varargs: providers},","highlight_start":1,"highlight_end":83},{"text":" {command: \"pkcs11-private-mode\", rust_name: Pkcs11PrivateMode, varargs: modes},","highlight_start":1,"highlight_end":84},{"text":" {command: \"cryptoapicert\", rust_name: Cryptoapicert, args: [select_string], optional_args: []},","highlight_start":1,"highlight_end":100},{"text":" {command: \"key-method\", rust_name: KeyMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-cipher\", rust_name: TlsCipher, args: [l], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"tls-timeout\", rust_name: TlsTimeout, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-bytes\", rust_name: RenegBytes, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"reneg-pkts\", rust_name: RenegPkts, args: [n], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"reneg-sec\", rust_name: RenegSec, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"hand-window\", rust_name: HandWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tran-window\", rust_name: TranWindow, args: [n], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"single-session\", rust_name: SingleSession, args: [], optional_args: []},","highlight_start":1,"highlight_end":88},{"text":" {command: \"tls-exit\", rust_name: TlsExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"tls-crypt\", rust_name: TlsCrypt, inline_file: true},","highlight_start":1,"highlight_end":68},{"text":" {command: \"askpass\", rust_name: Askpass, args: [], optional_args: [file]},","highlight_start":1,"highlight_end":79},{"text":" {command: \"auth-nocache\", rust_name: AuthNocache, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"auth-token\", rust_name: AuthToken, args: [token], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"tls-verify\", rust_name: TlsVerify, args: [cmd], optional_args: []},","highlight_start":1,"highlight_end":83},{"text":" {command: \"tls-export-cert\", rust_name: TlsExportCert, args: [directory], optional_args: []},","highlight_start":1,"highlight_end":98},{"text":" {command: \"x509-username-field\", rust_name: X509UsernameField, args: [fieldname], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"verify-x509-name\", rust_name: VerifyX509Name, args: [name, verify_x509_name_type], optional_args: []},","highlight_start":1,"highlight_end":118},{"text":" {command: \"x509-track\", rust_name: X509Track, args: [attribute], optional_args: []},","highlight_start":1,"highlight_end":89},{"text":" {command: \"ns-cert-type\", rust_name: NsCertType, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":99},{"text":" {command: \"remote-cert-ku\", rust_name: RemoteCertKu, varargs: values},","highlight_start":1,"highlight_end":75},{"text":" {command: \"remote-cert-eku\", rust_name: RemoteCertEku, args: [oid], optional_args: []},","highlight_start":1,"highlight_end":92},{"text":" {command: \"remote-cert-tls\", rust_name: RemoteCertTls, args: [client_or_server], optional_args: []},","highlight_start":1,"highlight_end":105},{"text":" {command: \"crl-verify\", rust_name: CrlVerify, inline_file: true, optional_args: [direction]},","highlight_start":1,"highlight_end":98},{"text":" {command: \"show-ciphers\", rust_name: ShowCiphers, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-digests\", rust_name: ShowDigests, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-tls\", rust_name: ShowTls, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-engines\", rust_name: ShowEngines, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"show-curves\", rust_name: ShowCurves, args: [], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"genkey\", rust_name: Genkey, args: [], optional_args: []},","highlight_start":1,"highlight_end":73},{"text":" {command: \"mktun\", rust_name: Mktun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"rmtun\", rust_name: Rmtun, args: [], optional_args: []},","highlight_start":1,"highlight_end":71},{"text":" {command: \"win-sys\", rust_name: WinSys, args: [path], optional_args: []},","highlight_start":1,"highlight_end":78},{"text":" {command: \"ip-win32\", rust_name: IpWin32, args: [method], optional_args: []},","highlight_start":1,"highlight_end":82},{"text":" {command: \"route-method\", rust_name: RouteMethod, args: [m], optional_args: []},","highlight_start":1,"highlight_end":85},{"text":" {command: \"dhcp-option\", rust_name: DhcpOption, args: [dhcp_option_type], optional_args: [parm]},","highlight_start":1,"highlight_end":102},{"text":" {command: \"tap-sleep\", rust_name: TapSleep, args: [n], optional_args: []},","highlight_start":1,"highlight_end":79},{"text":" {command: \"show-net-up\", rust_name: ShowNetUp, args: [], optional_args: []},","highlight_start":1,"highlight_end":81},{"text":" {command: \"block-outside-dns\", rust_name: BlockOutsideDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":93},{"text":" {command: \"dhcp-renew\", rust_name: DhcpRenew, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"dhcp-release\", rust_name: DhcpRelease, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"register-dns\", rust_name: RegisterDns, args: [], optional_args: []},","highlight_start":1,"highlight_end":84},{"text":" {command: \"pause-exit\", rust_name: PauseExit, args: [], optional_args: []},","highlight_start":1,"highlight_end":80},{"text":" {command: \"service\", rust_name: Service, args: [exit_event], optional_args: [initial_state_of_event]},","highlight_start":1,"highlight_end":107},{"text":" {command: \"show-adapters\", rust_name: ShowAdapters, args: [], optional_args: []},","highlight_start":1,"highlight_end":86},{"text":" {command: \"allow-nonadmin\", rust_name: AllowNonadmin, args: [], optional_args: [tap_adapter]},","highlight_start":1,"highlight_end":99},{"text":" {command: \"show-valid-subnets\", rust_name: ShowValidSubnets, args: [], optional_args: []},","highlight_start":1,"highlight_end":95},{"text":" {command: \"show-net\", rust_name: ShowNet, args: [], optional_args: []},","highlight_start":1,"highlight_end":76},{"text":" {command: \"show-pkcs11-ids\", rust_name: ShowPkcs11Ids, args: [], optional_args: [provider, cert_private]},","highlight_start":1,"highlight_end":111},{"text":" {command: \"show-gateway\", rust_name: ShowGateway, args: [], optional_args: [v6target]},","highlight_start":1,"highlight_end":92},{"text":" {command: \"ifconfig-ipv6\", rust_name: IfconfigIpv6, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":106},{"text":" {command: \"route-ipv6\", rust_name: RouteIpv6, args: [ipv6addr], optional_args: [gateway, metric]},","highlight_start":1,"highlight_end":103},{"text":" {command: \"server-ipv6\", rust_name: ServerIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":" {command: \"ifconfig-ipv6-pool\", rust_name: IfconfigIpv6Pool, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":103},{"text":" {command: \"ifconfig-ipv6-push\", rust_name: IfconfigIpv6Push, args: [ipv6addr, ipv6remote], optional_args: []},","highlight_start":1,"highlight_end":115},{"text":" {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},","highlight_start":1,"highlight_end":90},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"define_config_directives!","def_site_span":{"file_name":"src/config_directive.rs","byte_start":640,"byte_end":677,"line_start":23,"line_end":23,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"macro_rules! define_config_directives {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unexpected `cfg` condition value: `cargo-clippy`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/config_directive.rs:62:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m62\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[cfg_attr(feature=\"cargo-clippy\", allow(let_and_return))]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: remove the condition\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mdefine_config_directives!{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"help\", rust_name: Help, args: [], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"config\", rust_name: Config, args: [file], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"mode\", rust_name: Mode, args: [m], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m736\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m {command: \"iroute-ipv6\", rust_name: IrouteIpv6, args: [ipv6addr], optional_args: []},\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m737\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: no expected values for `feature`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: consider adding `cargo-clippy` as a feature in `Cargo.toml`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: see for more information about checking conditional configuration\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unexpected_cfgs)]` on by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `define_config_directives` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}} [WARN] too much data in the log, truncating it