From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14890 invoked from network); 5 Dec 2022 16:24:53 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 5 Dec 2022 16:24:53 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670257493; b=hX0KixYr+jWCz7RXhzKmNzUPWD15pbCAcIkqRIz794FzXQP5f9x683n6BkcvmPryCw3i212ogC Mj5XE60QFSYsGiCHi1v9x5WbLOSbglpGGn9AFQ3mrnxov3+r1OBwC/UIshiMb8yPM5CB15PRPT jWKAOMNLACKWzlpcw7i5sOtdz13npHV+pnysrXAtIFEBsGlBKtshP6ogQQEXWUIjXNjLUMc+Wt u3bjOinPvvtVoqwh3pb2XUtK7vvKgFtVdgqPhHTfgGkGxdtOCSh2H17NEjFdJ89nmaLXzIoYvO HALJ+Kx5LNVkvXzRxafz6leXczTtyCjZ2WxW4IyDNF342A==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yb1-f178.google.com) smtp.remote-ip=209.85.219.178; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1670257493; bh=7GLpov5fmPRjQ7g18V/i064EhC9Fx9atPPR7xpgdulU=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=T9dOzUHMLhsQy7NdI6Zj5/oRBjwxO35ollwr0en6h3wcrTpBaJNtFJ6UG6yIflAZbiAchT7m/v /R5z2YpmtJfltOMS8yYpueErg2f+wf2G082w0zsd9MrQBM78vAWsIUlmOzJTEa7j6sE/Dkl8Wd EBbYJyZI/WT21E65/UuUnL/K3XWb2w+vN5UAWnYBosSy7yUcnfVA+0oHFgMfT9KktW834XBkLS a+QKoI121LHvUJpTNE43tx1XH/ahZfmQXKT099V09AsRXa+Rg8MLzLLq6wrn81TBcKke+4YL6r NZxdXrlGbAyKe6RmEhz+ZPSGPrSLQHNorz+uvpqwHUCnPw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=XODc+N/GoT/gr9EKTlh7YcyQMCz78JoowpaBG2CNfDw=; b=ktufIYQ98WfQIU92gTfgb6zWta l0WjGo1fzKftTlizAqi/rCQdhTR8+hmgD5i6D2M+kPvihAwtHxjnSrdKkFfeg9u9RTo+vl1KROtc2 dFMRNabZ7gY9LsBtQWBP8RCLHRjNvrAVJGA6YTqDoSeIuQ4fiQ+tLncKvuPtZB0B0rehJlaLUoPRi wEmQj3gddhmb5vDpiHziDGa29LXjkAYQ0s/CU1vMr8eKzXdsD2OZjQ4UodrQUAuuiSEE9TFY1SxNb qMehOXs4HeyDyHSWcQCuARPbj9yXUVrfJBDxhCFAzSMl7wvDpm6Y2tyn03B35plsTaBU0lBELKeCM 4uzptqwQ==; Received: by zero.zsh.org with local id 1p2EGz-000Bxd-0d; Mon, 05 Dec 2022 16:24:53 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yb1-f178.google.com) smtp.remote-ip=209.85.219.178; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-yb1-f178.google.com ([209.85.219.178]:36720) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1p2EGR-000BK5-Er; Mon, 05 Dec 2022 16:24:20 +0000 Received: by mail-yb1-f178.google.com with SMTP id e141so15141186ybh.3 for ; Mon, 05 Dec 2022 08:24:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XODc+N/GoT/gr9EKTlh7YcyQMCz78JoowpaBG2CNfDw=; b=n0S/c2XKaT3FbuHMUqv4QT7JTP0/Ed6F0865iC4mCzZcsCfMOo9uHdiiUi85pWAd2/ 0/gKfRwfqJtF49MTsFr5RMx2sH+dOVN8dZBGLfJVNB5MOiN7IXo9okKsS7/TsF6wLCsF 1vFO5LvB5uIwreGg5v2pkhl9oE33uD74RR7TnMjWhllALx2VLikzIYo497w5n4J+WUrN Zngbw6xykm6xl+ylhvpnIX8rQ4RYY/nwhO15X/Q4MjmfXg9V6lO2prMhXB5EBhxPIdd+ r2YQj0r8HHM17Y2EfiUchWVSKrF8ZjxDnkKrwRGACoPaYE0fTP7X2ejMGq6o2EC9QQpc IR2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XODc+N/GoT/gr9EKTlh7YcyQMCz78JoowpaBG2CNfDw=; b=7iNsvJzze12p+0FsRmhC7ibPuks9RjTfSJfluWrr6ddswyUrHqZJMee0VHasLq3wN9 S/BI1szwPx3Mv1YcSnohwNT1zoy4d+N7YrhgCdzQkBOH+hXsU3TzU1+J5UNIRO6kpKX0 SSVwSGQO/nwqPtojqAKIa+tnWSloYx0hDVY6/pgkKiBzR071jOakoGYv7Wjk66BWLqhL 8MxYJ6p/Bzn7QWHAtMi5krZj/x1zhXhCxArlZW5BSyObhn3apxuQ8gBMAvgCo5mGI7yn l21ptHQxg2rpJWoD7ppftqlkwcatVQYEJtUdWcI2pNY0gwnnSYJAfB6+Y1Zh4awrNYIK zDtQ== X-Gm-Message-State: ANoB5pmd+4I1YlFZHIPC7OjOvwP9z+wPYWAV80oXw72hjJAnQhutZJbx P2RD6LD2TN8q5ptJEq02wP+b3msdt9n5HLX/5MfgeSLvmrM= X-Google-Smtp-Source: AA0mqf7PEdOaLmJb+jiVpXSIeR8HPD4ZD7qSDqoZ+SBrwPOVSOJAdhHkNBcZy57cPhvJ7nR3AvO4nirFl5zRfoz+S1Y= X-Received: by 2002:a25:ae62:0:b0:6f2:16ed:4f48 with SMTP id g34-20020a25ae62000000b006f216ed4f48mr52480244ybe.192.1670257457398; Mon, 05 Dec 2022 08:24:17 -0800 (PST) MIME-Version: 1.0 References: <54bcd6dd-e589-4696-f042-1155b78df9d2@eastlink.ca> In-Reply-To: <54bcd6dd-e589-4696-f042-1155b78df9d2@eastlink.ca> From: Roman Perepelitsa Date: Mon, 5 Dec 2022 17:24:05 +0100 Message-ID: Subject: Re: The elements of enlightenment To: Ray Andrews Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 28482 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: On Mon, Dec 5, 2022 at 4:58 PM Ray Andrews wrote: > > I think I've finally actually figured out the reason that lines aren't > elements and elements aren't lines even though they can print exactly > the same: > > $ list=( $( setopt ) ) This is the standard way of splitting the output of a command into lines and dropping empty lines: list=( ${(f)"$(setopt)"} ) This requires KSH_OPTION_PRINT, just like your code. It may not be the best idea to write code that deals with options in a way that requires specific options. It's unlikely that you need to capture the output of setopt in the first place given that there is $options associative array. () { local k v local -A color=(on 32 off 33) for k v in ${(kv)options}; do printf '%-20s = \e[%sm%s\e[0m\n' $k ${color[$v]} $v done } Dealing with options as an associative array is a lot easier than dealing with text. Roman.