Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

lazyman_config

Ronald Record edited this page Sep 14, 2023 · 18 revisions

Lazyman Menu Configuration

The lazyman_config.sh script is installed in ~/.config/nvim-Lazyman/scripts/.

This script is used to display the nvim-Lazyman configuration sub-menus in lazyman.

Usage

Usage: lazyman_config [-a] [-d] [-i] [-m menu] [-s name value] [-u]
Where:
 -a lists all configuration names and exits
 -d specifies debug mode
 -i indicates initialize conditional plugin configurations and exit
 -m 'menu' specifies the menu to display (conf, form, lsp, plugins)
 -s 'name value' indicates set the value of configuration 'name' to 'value'
 if 'name' is 'get' then 'value' is the configuration name to get
 if 'name' is a table then 'value' is the table entry to set
 follow 'value' with 'enable' or 'disable'
 -u displays this usage message and exits
Examples:
 Display the 'Formatters' menu
 lazyman_config -m form
 Set the theme to 'kanagawa'
 lazyman_config -s theme kanagawa
 Get the theme setting
 lazyman_config -s get theme
 Disable 'gopls' language server
 lazyman_config -s lsp_servers gopls disable

Source code

The source code for the lazyman_config.sh script:

#!/usr/bin/env bash
#
# lazyman_config - configure the Lazyman Neovim configurations
#
# Written by Ronald Record <ronaldrecord@gmail.com>, Spring 2023
#
# shellcheck disable=SC1090,SC2001,SC2002,SC2016,SC2006,SC2086,SC2181,SC2129,SC2059,SC2076
LAZYMAN="nvim-Lazyman"
LMANDIR="${HOME}/.config/${LAZYMAN}"
NVIMCONF="${LMANDIR}/lua/configuration.lua"
CONFBACK="${LMANDIR}/lua/configuration-orig.lua"
GET_CONF="${LMANDIR}/scripts/get_conf.lua"
WEBDEV="${LMANDIR}/scripts/webdev_config.sh"
LZYIDE="${LMANDIR}/scripts/lzyide_config.sh"
FONTDIR="${LMANDIR}/scripts/figlet-fonts"
LOLCAT="lolcat"
BOLD=$(tput bold 2>/dev/null)
NORM=$(tput sgr0 2>/dev/null)
PLEASE="Please enter your choice"
USEGUI=
# Array with font names
fonts=("Slant" "Shadow" "Small" "Script" "Standard")
# Supported themes
themes=("nightfox" "tokyonight" "dracula" "kanagawa" "catppuccin" "tundra"
 "onedarkpro" "everforest" "monokai-pro")
# Themes with styles
styled_themes=("nightfox" "tokyonight" "dracula" "kanagawa" "catppuccin"
 "onedarkpro" "monokai-pro")
all_lsp_servers=("bashls" "cssmodules_ls" "denols" "dockerls" "eslint" "gopls"
 "graphql" "html" "jdtls" "jsonls" "julials" "ltex" "lua_ls"
 "marksman" "pylsp" "pyright" "sqlls" "tailwindcss" "texlab"
 "tsserver" "vimls" "yamlls")
have_ccls=$(type -p ccls)
[ "${have_ccls}" ] && all_lsp_servers+=("ccls")
have_clangd=$(type -p clangd)
[ "${have_clangd}" ] && all_lsp_servers+=("clangd")
all_formatters=("actionlint" "goimports" "golangci-lint" "gofumpt"
 "google-java-format" "latexindent" "markdownlint"
 "prettier" "sql-formatter" "shellcheck" "shfmt"
 "stylua" "tflint" "yamllint")
have_beautysh=$(type -p beautysh)
[ "${have_beautysh}" ] && all_formatters+=("beautysh")
have_black=$(type -p black)
[ "${have_black}" ] && all_formatters+=("black")
have_ruff=$(type -p ruff)
[ "${have_ruff}" ] && all_formatters+=("ruff")
lsp_enabled_table=()
for_enabled_table=()
neorg_notes_table=()
usage() {
 printf "\nUsage: lazyman_config [-a] [-d] [-i] [-m menu] [-s name value] [-u]"
 printf "\nWhere:"
 printf "\n -a lists all configuration names and exits"
 printf "\n -d specifies debug mode"
 printf "\n -i indicates initialize conditional plugin configurations and exit"
 printf "\n -m 'menu' specifies the menu to display (conf, form, lsp, plugins)"
 printf "\n -s 'name value' indicates set the value of configuration 'name' to 'value'"
 printf "\n if 'name' is 'get' then 'value' is the configuration name to get"
 printf "\n if 'name' is a table then 'value' is the table entry to set"
 printf "\n follow 'value' with 'enable' or 'disable'"
 printf "\n -u displays this usage message and exits"
 printf "\nExamples:"
 printf "\n Display the 'Formatters' menu"
 printf "\n lazyman_config -m form"
 printf "\n Set the theme to 'kanagawa'"
 printf "\n lazyman_config -s theme kanagawa"
 printf "\n Get the theme setting"
 printf "\n lazyman_config -s get theme"
 printf "\n Disable 'gopls' language server"
 printf "\n lazyman_config -s lsp_servers gopls disable\n"
 exit 1
}
prompt_continue() {
 printf "\nPress <Enter> to continue ... "
 read -r yn
}
set_haves() {
 have_fzf=$(type -p fzf)
 have_figlet=$(type -p figlet)
 have_lolcat=$(type -p lolcat)
 have_rich=$(type -p rich)
}
show_figlet() {
 if [ "1ドル" ]; then
 FIG_TEXT="1ドル"
 else
 FIG_TEXT="Lazyman"
 fi
 # Seed random generator
 RANDOM=$$$(date +%s)
 USE_FONT=${fonts[$RANDOM % ${#fonts[@]}]}
 [ "${USE_FONT}" ] || USE_FONT="standard"
 if [ "${have_lolcat}" ]; then
 figlet -c -d "${FONTDIR}" -f "${USE_FONT}" -k -t ${FIG_TEXT} 2>/dev/null | ${LOLCAT}
 else
 figlet -c -d "${FONTDIR}" -f "${USE_FONT}" -k -t ${FIG_TEXT} 2>/dev/null
 fi
}
check_python_version() {
 have_python3=$(type -p python3)
 [ "${have_python3}" ] || {
 echo "NO"
 return 3
 }
 major=$(python3 -c 'import sys; print(sys.version_info.major)')
 if [ ${major} -eq 3 ]
 then
 minor=$(python3 -c 'import sys; print(sys.version_info.minor)')
 if [ ${minor} -ge 9 ]
 then
 echo "OK"
 return 0
 else
 echo "NO"
 return 1
 fi
 else
 echo "NO"
 return 2
 fi
}
get_conf_table() {
 confname="1ドル"
 if [ "${confname}" == "lsp_servers" ]; then
 lsp_enabled_table=()
 while read -r val; do
 lsp_enabled_table+=("$val")
 done < <(NVIM_APPNAME="${LAZYMAN}" nvim -l ${GET_CONF} ${confname} 2>&1)
 enable_ccls=$(get_conf_value enable_ccls)
 if [ "${enable_ccls}" == "true" ]; then
 lsp_enabled_table+=("ccls")
 fi
 enable_clangd=$(get_conf_value enable_clangd)
 if [ "${enable_clangd}" == "true" ]; then
 lsp_enabled_table+=("clangd")
 fi
 else
 if [ "${confname}" == "formatters_linters" ]; then
 for_enabled_table=()
 while read -r val; do
 for_enabled_table+=("$val")
 done < <(NVIM_APPNAME="${LAZYMAN}" nvim -l ${GET_CONF} ${confname} 2>&1)
 while read -r val; do
 for_enabled_table+=("$val")
 done < <(NVIM_APPNAME="${LAZYMAN}" nvim -l ${GET_CONF} "external_formatters" 2>&1)
 else
 if [ "${confname}" == "neorg_notes" ]; then
 neorg_notes_table=()
 while read -r val; do
 neorg_notes_table+=("$val")
 done < <(NVIM_APPNAME="${LAZYMAN}" nvim -l ${GET_CONF} ${confname} 2>&1)
 fi
 fi
 fi
}
get_conf_value() {
 confname="1ドル"
 confval=$(NVIM_APPNAME="${LAZYMAN}" nvim -l ${GET_CONF} ${confname} 2>&1)
 echo "${confval}"
}
set_conf_value() {
 confname="1ドル"
 confval="2ドル"
 grep "conf.${confname} =" "${NVIMCONF}" >/dev/null && {
 case ${confval} in
 true | false | [0-9])
 cat "${NVIMCONF}" \
 | sed -e "s/conf.${confname} =.*/conf.${confname} = ${confval}/" >/tmp/nvim$$
 ;;
 *)
 cat "${NVIMCONF}" \
 | sed -e "s/conf.${confname} =.*/conf.${confname} = \"${confval}\"/" >/tmp/nvim$$
 ;;
 esac
 cp /tmp/nvim$$ "${NVIMCONF}"
 rm -f /tmp/nvim$$
 }
}
set_conf_table() {
 marker="1ドル"
 confval="2ドル"
 action="3ドル"
 case ${confval} in
 ccls)
 case ${action} in
 disable)
 set_conf_value "enable_ccls" "false"
 ;;
 enable)
 set_conf_value "enable_ccls" "true"
 ;;
 esac
 ;;
 clangd)
 case ${action} in
 disable)
 set_conf_value "enable_clangd" "false"
 ;;
 enable)
 set_conf_value "enable_clangd" "true"
 ;;
 esac
 ;;
 *)
 grep "${marker}" "${NVIMCONF}" | grep "${confval}" >/dev/null && {
 case ${action} in
 disable)
 cat "${NVIMCONF}" \
 | sed -E "s/ \"${confval}\",[[:space:]]+--[[:space:]]+${marker}/ -- \"${confval}\", -- ${marker}/" >/tmp/nvim$$
 ;;
 enable)
 cat "${NVIMCONF}" \
 | sed -E "s/-- \"${confval}\",[[:space:]]+--[[:space:]]+${marker}/\"${confval}\", -- ${marker}/" >/tmp/nvim$$
 ;;
 esac
 cp /tmp/nvim$$ "${NVIMCONF}"
 rm -f /tmp/nvim$$
 }
 ;;
 esac
}
set_ranger_float() {
 have_ranger=$(type -p ranger)
 [ "${have_ranger}" ] || {
 ranger_float=$(get_conf_value enable_ranger_float)
 [ "${ranger_float}" == "true" ] && {
 set_conf_value "enable_ranger_float" "false"
 }
 }
}
set_waka_opt() {
 waka="false"
 [ -f "${HOME}"/.wakatime.cfg ] && {
 grep api_key "${HOME}"/.wakatime.cfg >/dev/null && waka="true"
 }
 set_conf_value "enable_wakatime" "${waka}"
}
set_code_explain() {
 if [ -f "${HOME}/.codeexplain/model.bin" ]; then
 pyver=$(check_python_version)
 if [ "${pyver}" == "OK" ]
 then
 set_conf_value "enable_codeexplain" "true"
 else
 set_conf_value "enable_codeexplain" "false"
 fi
 else
 set_conf_value "enable_codeexplain" "false"
 fi
}
select_theme_style() {
 selected_style="${theme_style}"
 case "1ドル" in
 kanagawa)
 styles=("wave" "dragon" "lotus")
 ;;
 tokyonight)
 styles=("night" "storm" "day" "moon")
 ;;
 onedarkpro)
 styles=("onedark" "onelight" "onedark_vivid" "onedark_dark")
 ;;
 catppuccin)
 styles=("latte" "frappe" "macchiato" "mocha" "custom")
 ;;
 dracula)
 styles=("blood" "magic" "soft" "default")
 ;;
 nightfox)
 styles=("carbonfox" "dawnfox" "dayfox" "duskfox" "nightfox" "nordfox" "terafox")
 ;;
 monokai-pro)
 styles=("classic" "octagon" "pro" "machine" "ristretto" "spectrum")
 ;;
 *)
 styles=()
 ;;
 esac
 if [ "${have_fzf}" ]; then
 choice=$(printf "%s\n" "${styles[@]}" | fzf --prompt=" Neovim Theme Style  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${theme_style}" ] || {
 if [[ " ${styles[*]} " =~ " ${choice} " ]]; then
 set_conf_value "theme_style" "${choice}"
 fi
 }
 else
 set_haves
 while true; do
 confmenu=
 mainmenu=
 [ "$debug" ] || tput reset
 printf "\n"
 if [ "${have_rich}" ]; then
 rich "[cyan]Select Theme Style[/cyan]" -p -a rounded -c -C
 else
 [ "${have_figlet}" ] && show_figlet "Style"
 fi
 printf "\n"
 PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}"
 options=()
 for sty in "${styles[@]}"; do
 if [ "${theme_style}" == "$sty" ]; then
 options+=("$sty")
 else
 options+=("$sty")
 fi
 done
 [ "${theme_style}" == "${selected_style}" ] || {
 options+=("Set style to ${theme_style}")
 }
 options+=("Configuration Menu" "Main Menu" "Quit")
 select opt in "${options[@]}"; do
 case "$opt,$REPLY" in
 "h",* | *,"h" | "H",* | *,"H" | "help",* | *,"help" | "Help",* | *,"Help")
 [ "$debug" ] || tput reset
 printf "\n"
 man lazyman
 break
 ;;
 "wave",* | *,"wave")
 theme_style="wave"
 break
 ;;
 "dragon",* | *,"dragon")
 theme_style="dragon"
 break
 ;;
 "lotus",* | *,"lotus")
 theme_style="lotus"
 break
 ;;
 "night",* | *,"night")
 theme_style="night"
 break
 ;;
 "storm",* | *,"storm")
 theme_style="storm"
 break
 ;;
 "dayfox",* | *,"dayfox")
 theme_style="dayfox"
 break
 ;;
 "day",* | *,"day")
 theme_style="day"
 break
 ;;
 "moon",* | *,"moon")
 theme_style="moon"
 break
 ;;
 "onedark",* | *,"onedark")
 theme_style="onedark"
 break
 ;;
 "onelight",* | *,"onelight")
 theme_style="onelight"
 break
 ;;
 "onedark_vivid",* | *,"onedark_vivid")
 theme_style="onedark_vivid"
 break
 ;;
 "onedark_dark",* | *,"onedark_dark")
 theme_style="onedark_dark"
 break
 ;;
 "latte",* | *,"latte")
 theme_style="latte"
 break
 ;;
 "frappe",* | *,"frappe")
 theme_style="frappe"
 break
 ;;
 "macchiato",* | *,"macchiato")
 theme_style="macchiato"
 break
 ;;
 "mocha",* | *,"mocha")
 theme_style="mocha"
 break
 ;;
 "custom",* | *,"custom")
 theme_style="custom"
 break
 ;;
 "blood",* | *,"blood")
 theme_style="blood"
 break
 ;;
 "magic",* | *,"magic")
 theme_style="magic"
 break
 ;;
 "soft",* | *,"soft")
 theme_style="soft"
 break
 ;;
 "default",* | *,"default")
 theme_style="default"
 break
 ;;
 "carbonfox",* | *,"carbonfox")
 theme_style="carbonfox"
 break
 ;;
 "dawnfox",* | *,"dawnfox")
 theme_style="dawnfox"
 break
 ;;
 "duskfox",* | *,"duskfox")
 theme_style="duskfox"
 break
 ;;
 "nightfox",* | *,"nightfox")
 theme_style="nightfox"
 break
 ;;
 "nordfox",* | *,"nordfox")
 theme_style="nordfox"
 break
 ;;
 "terafox",* | *,"terafox")
 theme_style="terafox"
 break
 ;;
 "classic",* | *,"classic")
 theme_style="classic"
 break
 ;;
 "octagon",* | *,"octagon")
 theme_style="octagon"
 break
 ;;
 "pro",* | *,"pro")
 theme_style="pro"
 break
 ;;
 "machine",* | *,"machine")
 theme_style="machine"
 break
 ;;
 "ristretto",* | *,"ristretto")
 theme_style="ristretto"
 break
 ;;
 "Set style to"*,* | *,"Set style to"*)
 set_conf_value "theme_style" "${theme_style}"
 break 2
 ;;
 "Configuration Menu"*,* | *,"Configuration Menu"* | "c",* | *,"c")
 confmenu=1
 break 2
 ;;
 "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 mainmenu=1
 break 2
 ;;
 "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 printf "\nExiting Lazyman Configuration Menu System\n\n"
 exit 3
 ;;
 esac
 REPLY=
 done
 done
 [ "${confmenu}" ] && show_conf_menu
 [ "${mainmenu}" ] && exit 2
 fi
}
set_default_style() {
 case "1ドル" in
 kanagawa)
 set_conf_value "theme_style" "dragon"
 ;;
 tokyonight)
 set_conf_value "theme_style" "moon"
 ;;
 onedarkpro)
 set_conf_value "theme_style" "onedark_dark"
 ;;
 catppuccin)
 set_conf_value "theme_style" "mocha"
 ;;
 dracula)
 set_conf_value "theme_style" "soft"
 ;;
 nightfox)
 set_conf_value "theme_style" "carbonfox"
 ;;
 monokai-pro)
 set_conf_value "theme_style" "pro"
 ;;
 *)
 set_conf_value "theme_style" "none"
 ;;
 esac
}
select_theme() {
 selected_theme="1ドル"
 if [ "${have_fzf}" ]; then
 theme=$(printf "%s\n" "${themes[@]}" | fzf --prompt=" Neovim Theme  " --layout=reverse --border --exit-0)
 [ "${theme}" == "${selected_theme}" ] || {
 if [[ " ${themes[*]} " =~ " ${theme} " ]]; then
 set_conf_value "theme" "${theme}"
 set_default_style "${theme}"
 fi
 }
 else
 set_haves
 while true; do
 confmenu=
 mainmenu=
 [ "$debug" ] || tput reset
 printf "\n"
 if [ "${have_rich}" ]; then
 rich "[cyan]Select Theme[/cyan]" -p -a rounded -c -C
 else
 [ "${have_figlet}" ] && show_figlet "Theme"
 fi
 printf "\n"
 PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}"
 options=()
 for thm in "${themes[@]}"; do
 if [ "${theme}" == "$thm" ]; then
 options+=("$thm")
 else
 options+=("$thm")
 fi
 done
 [ "${theme}" == "${selected_theme}" ] || {
 options+=("Set theme to ${theme}")
 }
 options+=("Configuration Menu" "Main Menu" "Quit")
 select opt in "${options[@]}"; do
 case "$opt,$REPLY" in
 "h",* | *,"h" | "H",* | *,"H" | "help",* | *,"help" | "Help",* | *,"Help")
 [ "$debug" ] || tput reset
 printf "\n"
 man lazyman
 break
 ;;
 "nightfox"*,* | *,"nightfox"*)
 theme="nightfox"
 break
 ;;
 "tokyonight"*,* | *,"tokyonight"*)
 theme="tokyonight"
 break
 ;;
 "dracula"*,* | *,"dracula"*)
 theme="dracula"
 break
 ;;
 "kanagawa"*,* | *,"kanagawa"*)
 theme="kanagawa"
 break
 ;;
 "catppuccin"*,* | *,"catppuccin"*)
 theme="catppuccin"
 break
 ;;
 "tundra"*,* | *,"tundra"*)
 theme="tundra"
 break
 ;;
 "onedarkpro"*,* | *,"onedarkpro"*)
 theme="onedarkpro"
 break
 ;;
 "everforest"*,* | *,"everforest"*)
 theme="everforest"
 break
 ;;
 "monokai-pro"*,* | *,"monokai-pro"*)
 theme="monokai-pro"
 break
 ;;
 "Set theme to"*,* | *,"Set theme to"*)
 set_conf_value "theme" "${theme}"
 set_default_style "${theme}"
 break 2
 ;;
 "Configuration Menu"*,* | *,"Configuration Menu"* | "c",* | *,"c")
 confmenu=1
 break 2
 ;;
 "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 mainmenu=1
 break 2
 ;;
 "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 printf "\nExiting Lazyman Configuration Menu System\n\n"
 exit 3
 ;;
 esac
 REPLY=
 done
 done
 fi
 [ "${confmenu}" ] && show_conf_menu
 [ "${mainmenu}" ] && exit 2
}
show_plug_help() {
 if [ "${have_rich}" ]; then
 rich "[cyan]Lazyman Plugins Menu Help[/cyan]" -p -a rounded -c -C
 else
 printf "\n\tLazyman Plugins Menu Help\n"
 fi
 printf "\nEnable and disable installed Neovim plugins and plugin configuration."
 printf "\nEnabled plugins and plugin configurations are indicated with a []"
 printf "\nDisabled plugins and plugin configurations are indicated with a [✗]\n"
 printf "\nSettings in this menu only effect the Lazyman Neovim configuration in:"
 printf "\n\t${HOME}/.config/nvim-Lazyman\n"
 prompt_continue
}
show_plugin_menu() {
 set_haves
 while true; do
 mainmenu=
 confmenu=
 lspmenu=
 formenu=
 [ -f ${GET_CONF} ] || {
 printf "\n\nWARNING: missing ${GET_CONF}"
 printf "\nUnable to modify configuration from this menu"
 printf "\nYou may need to update or re-install Lazyman"
 prompt_continue
 mainmenu=1
 break
 }
 [ "$debug" ] || tput reset
 if [ "${have_rich}" ]; then
 rich "[b cyan]Lazyman Plugins Configuration Menu[/]" -p -a rounded -c -C
 rich "[b green]Manage the Neovim plugins enabled in[/] [b yellow]~/.config/nvim-Lazyman[/]" -p -c
 else
 [ "${have_figlet}" ] && show_figlet "Plugins"
 fi
 printf '\n'
 namespace=$(get_conf_value namespace)
 use_namespace="${namespace}"
 media_backend=$(get_conf_value media_backend)
 use_media_backend="${media_backend}"
 session_manager=$(get_conf_value session_manager)
 use_session_manager="${session_manager}"
 file_tree=$(get_conf_value file_tree)
 use_neotree="${file_tree}"
 enable_noice=$(get_conf_value enable_noice)
 if [ "${enable_noice}" == "true" ]; then
 use_noice=""
 else
 use_noice=""
 fi
 enable_chatgpt=$(get_conf_value enable_chatgpt)
 if [ "${enable_chatgpt}" == "true" ]; then
 use_chatgpt=""
 else
 use_chatgpt=""
 fi
 enable_codeexplain=$(get_conf_value enable_codeexplain)
 if [ "${enable_codeexplain}" == "true" ]; then
 use_codeexplain=""
 else
 use_codeexplain=""
 fi
 enable_codeium=$(get_conf_value enable_codeium)
 if [ "${enable_codeium}" == "true" ]; then
 use_codeium=""
 else
 use_codeium=""
 fi
 enable_copilot=$(get_conf_value enable_copilot)
 if [ "${enable_copilot}" == "true" ]; then
 use_copilot=""
 else
 use_copilot=""
 fi
 enable_neoai=$(get_conf_value enable_neoai)
 if [ "${enable_neoai}" == "true" ]; then
 use_neoai=""
 else
 use_neoai=""
 fi
 enable_tabnine=$(get_conf_value enable_tabnine)
 if [ "${enable_tabnine}" == "true" ]; then
 use_tabnine=""
 else
 use_tabnine=""
 fi
 enable_surround=$(get_conf_value enable_surround)
 if [ "${enable_surround}" == "true" ]; then
 use_surround=""
 else
 use_surround=""
 fi
 lualine_style=$(get_conf_value lualine_style)
 use_lualine_style="${lualine_style}"
 lualine_separator=$(get_conf_value lualine_separator)
 use_lualine_separator="${lualine_separator}"
 enable_fancy=$(get_conf_value enable_fancy)
 if [ "${enable_fancy}" == "true" ]; then
 use_fancy=""
 else
 use_fancy=""
 fi
 enable_wilder=$(get_conf_value enable_wilder)
 if [ "${enable_wilder}" == "true" ]; then
 use_wilder=""
 else
 use_wilder=""
 fi
 enable_lualine_lsp_progress=$(get_conf_value enable_lualine_lsp_progress)
 if [ "${enable_lualine_lsp_progress}" == "true" ]; then
 use_lualine_lsp_progress=""
 else
 use_lualine_lsp_progress=""
 fi
 enable_terminal=$(get_conf_value enable_terminal)
 if [ "${enable_terminal}" == "true" ]; then
 use_terminal=""
 else
 use_terminal=""
 fi
 enable_toggleterm=$(get_conf_value enable_toggleterm)
 if [ "${enable_toggleterm}" == "true" ]; then
 use_toggleterm=""
 else
 use_toggleterm=""
 fi
 enable_neotest=$(get_conf_value enable_neotest)
 if [ "${enable_neotest}" == "true" ]; then
 use_neotest=""
 else
 use_neotest=""
 fi
 enable_wakatime=$(get_conf_value enable_wakatime)
 if [ "${enable_wakatime}" == "true" ]; then
 use_wakatime=""
 else
 use_wakatime=""
 fi
 enable_asciiart=$(get_conf_value enable_asciiart)
 if [ "${enable_asciiart}" == "true" ]; then
 use_asciiart=""
 else
 use_asciiart=""
 fi
 enable_cheatsheet=$(get_conf_value enable_cheatsheet)
 if [ "${enable_cheatsheet}" == "true" ]; then
 use_cheatsheet=""
 else
 use_cheatsheet=""
 fi
 enable_motion=$(get_conf_value enable_motion)
 use_motion="${enable_motion}"
 enable_notes=$(get_conf_value enable_notes)
 if [ "${enable_notes}" == "true" ]; then
 use_notes=""
 else
 use_notes=""
 fi
 markdown_preview=$(get_conf_value markdown_preview)
 use_markdown_preview="${markdown_preview}"
 enable_obsidian=$(get_conf_value enable_obsidian)
 if [ "${enable_obsidian}" == "true" ]; then
 use_obsidian=""
 else
 use_obsidian=""
 fi
 obsidian_vault=$(get_conf_value obsidian_vault)
 use_obsidian_vault=$(basename "${obsidian_vault}")
 get_conf_table neorg_notes
 num_neorg_notes=${#neorg_notes_table[@]}
 enable_ranger=$(get_conf_value enable_ranger_float)
 if [ "${enable_ranger}" == "true" ]; then
 use_ranger=""
 else
 use_ranger=""
 fi
 enable_coding=$(get_conf_value enable_coding)
 if [ "${enable_coding}" == "true" ]; then
 use_coding=""
 else
 use_coding=""
 fi
 enable_compile=$(get_conf_value enable_compile)
 if [ "${enable_compile}" == "true" ]; then
 use_compile=""
 else
 use_compile=""
 fi
 enable_bbye=$(get_conf_value enable_bbye)
 if [ "${enable_bbye}" == "true" ]; then
 use_bbye=""
 else
 use_bbye=""
 fi
 enable_startuptime=$(get_conf_value enable_startuptime)
 if [ "${enable_startuptime}" == "true" ]; then
 use_startuptime=""
 else
 use_startuptime=""
 fi
 enable_dressing=$(get_conf_value enable_dressing)
 if [ "${enable_dressing}" == "true" ]; then
 use_dressing=""
 else
 use_dressing=""
 fi
 enable_animate=$(get_conf_value enable_animate)
 if [ "${enable_animate}" == "true" ]; then
 use_animate=""
 else
 use_animate=""
 fi
 enable_duck=$(get_conf_value enable_duck)
 if [ "${enable_duck}" == "true" ]; then
 use_duck=""
 else
 use_duck=""
 fi
 enable_flirt=$(get_conf_value enable_flirt)
 if [ "${enable_flirt}" == "true" ]; then
 use_flirt=""
 else
 use_flirt=""
 fi
 enable_games=$(get_conf_value enable_games)
 if [ "${enable_games}" == "true" ]; then
 use_games=""
 else
 use_games=""
 fi
 enable_renamer=$(get_conf_value enable_renamer)
 if [ "${enable_renamer}" == "true" ]; then
 use_renamer=""
 else
 use_renamer=""
 fi
 use_dash=$(get_conf_value dashboard)
 enable_bookmarks=$(get_conf_value enable_bookmarks)
 if [ "${enable_bookmarks}" == "true" ]; then
 use_bookmarks=""
 else
 use_bookmarks=""
 fi
 enable_ide=$(get_conf_value enable_ide)
 if [ "${enable_ide}" == "true" ]; then
 use_ide=""
 else
 use_ide=""
 fi
 enable_navigator=$(get_conf_value enable_navigator)
 if [ "${enable_navigator}" == "true" ]; then
 use_navigator=""
 else
 use_navigator=""
 fi
 enable_project=$(get_conf_value enable_project)
 if [ "${enable_project}" == "true" ]; then
 use_project=""
 else
 use_project=""
 fi
 enable_picker=$(get_conf_value enable_picker)
 if [ "${enable_picker}" == "true" ]; then
 use_picker=""
 else
 use_picker=""
 fi
 enable_smooth_scrolling=$(get_conf_value enable_smooth_scrolling)
 if [ "${enable_smooth_scrolling}" == "true" ]; then
 use_smooth_scrolling=""
 else
 use_smooth_scrolling=""
 fi
 enable_securitree=$(get_conf_value enable_securitree)
 if [ "${enable_securitree}" == "true" ]; then
 use_securitree=""
 else
 use_securitree=""
 fi
 dashboard_recent_files=$(get_conf_value dashboard_recent_files)
 use_dashboard_recent_files="${dashboard_recent_files}"
 enable_dashboard_header=$(get_conf_value enable_dashboard_header)
 if [ "${enable_dashboard_header}" == "true" ]; then
 use_dashboard_header=""
 else
 use_dashboard_header=""
 fi
 enable_dashboard_quick_links=$(get_conf_value enable_dashboard_quick_links)
 if [ "${enable_dashboard_quick_links}" == "true" ]; then
 use_dashboard_quick_links=""
 else
 use_dashboard_quick_links=""
 fi
 enable_screensaver=$(get_conf_value enable_screensaver)
 use_screensaver="${enable_screensaver}"
 screensaver_timeout=$(get_conf_value screensaver_timeout)
 use_timeout="${screensaver_timeout}"
 indentline_style=$(get_conf_value indentline_style)
 use_indentline="${indentline_style}"
 PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}"
 options=()
 [ "${use_namespace}" == "free" ] && {
 options+=("Ascii Art [${use_asciiart}]")
 options+=("Bookmarks [${use_bookmarks}]")
 }
 [ "${use_namespace}" == "ecovim" ] || {
 options+=("Bdelete cmd [${use_bbye}]")
 }
 options+=("ChatGPT (AI) [${use_chatgpt}]")
 options+=("Codeium (AI) [${use_codeium}]")
 options+=("Copilot (AI) [${use_copilot}]")
 [ "${use_namespace}" == "ecovim" ] || {
 pyver=$(check_python_version)
 [ "${pyver}" == "OK" ] && {
 options+=("GPT4ALL (AI) [${use_codeexplain}]")
 }
 [ -f "${HOME}/.codeexplain/model.bin" ] && {
 options+=(" Remove GPT model")
 }
 }
 options+=("NeoAI (AI) [${use_neoai}]")
 [ "${use_namespace}" == "ecovim" ] && {
 options+=("Tabnine (AI) [${use_tabnine}]")
 }
 options+=("Cheatsheets [${use_cheatsheet}]")
 options+=("Enable coding [${use_coding}]")
 [ "${use_namespace}" == "ecovim" ] || {
 options+=("Compile & Run [${use_compile}]")
 [ "${use_namespace}" == "free" ] && {
 options+=("Dashboard [${use_dash}]")
 if [ "${use_dash}" == "alpha" ]; then
 options+=(" Alpha Header [${use_dashboard_header}]")
 options+=(" Recent Files [${use_dashboard_recent_files}]")
 options+=(" Quick Links [${use_dashboard_quick_links}]")
 fi
 }
 }
 [ "${use_namespace}" == "ecovim" ] && {
 options+=("Alpha Header [${use_dashboard_header}]")
 }
 options+=("Dressing UI [${use_dressing}]")
 options+=("Noice UI [${use_noice}]")
 options+=("Enable Games [${use_games}]")
 [ "${use_namespace}" == "ecovim" ] && {
 options+=("Animate [${use_animate}]")
 options+=("Duck hatcher [${use_duck}]")
 options+=("Flirt windows [${use_flirt}]")
 }
 options+=("Indentline [${use_indentline}]")
 options+=("Enable Motion [${use_motion}]")
 options+=("Smooth Scroll [${use_smooth_scrolling}]")
 options+=("Terminal [${use_terminal}]")
 options+=("Toggle Term [${use_toggleterm}]")
 [ "${use_namespace}" == "ecovim" ] || {
 options+=("File Tree [${use_neotree}]")
 options+=("Enable IDE [${use_ide}]")
 options+=("Lualine Style [${use_lualine_style}]")
 if [ "${use_lualine_style}" == "onno" ]; then
 options+=(" Separator [${use_lualine_separator}]")
 fi
 options+=(" Fancy Icons [${use_fancy}]")
 options+=("Enable Notes [${use_notes}]")
 if [ "${enable_notes}" == "true" ]; then
 options+=("Enable Obsidian [${use_obsidian}]")
 options+=(" Preview [${use_markdown_preview}]")
 [ "${enable_obsidian}" == "true" ] && {
 options+=(" Obsidian [${use_obsidian_vault}]")
 }
 [ ${num_neorg_notes} -lt 4 ] && {
 options+=(" Neorg Notes [add]")
 }
 fi
 options+=("Media Backend [${use_media_backend}]")
 options+=("Navigator [${use_navigator}]")
 options+=("Picker [${use_picker}]")
 options+=("Project [${use_project}]")
 options+=("Enable Ranger [${use_ranger}]")
 options+=("Enable Rename [${use_renamer}]")
 options+=("Screensaver [${use_screensaver}]")
 [ "${use_screensaver}" == "none" ] || {
 options+=(" Timeout [${use_timeout}]")
 }
 options+=("Securitree [${use_securitree}]")
 options+=("Session [${use_session_manager}]")
 options+=("StartupTime [${use_startuptime}]")
 options+=("Surround [${use_surround}]")
 options+=("Enable Tests [${use_neotest}]")
 [ "${use_namespace}" == "free" ] && {
 options+=("Wilder Menus [${use_wilder}]")
 }
 options+=("Winbar LSP [${use_lualine_lsp_progress}]")
 }
 options+=("WakaTime [${use_wakatime}]")
 options+=("Disable All")
 options+=("Enable All")
 [ -f ${CONFBACK} ] && {
 diff ${CONFBACK} ${NVIMCONF} >/dev/null || options+=("Reset to Defaults")
 }
 [ -d "${LMANDIR}" ] && options+=("Open Lazyman")
 options+=("Formatters")
 options+=("LSP Servers")
 options+=("Config Menu")
 options+=("Main Menu")
 options+=("Quit")
 select opt in "${options[@]}"; do
 case "$opt,$REPLY" in
 "h",* | *,"h" | "H",* | *,"H" | "help",* | *,"help" | "Help",* | *,"Help")
 [ "$debug" ] || tput reset
 show_plug_help
 break
 ;;
 "Media"*,* | *,"Media"*)
 choices=("none" "catimg" "chafa" "jp2a" "ueberzug" "viu")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Telescope Media Backend  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "media_backend" "${choice}"
 pluginit=1
 fi
 break
 ;;
 " Neorg Note"*,* | *," Neorg Note"*)
 printf "\n\nCurrent Neorg notes location(s):"
 for notedir in "${neorg_notes_table[@]}"; do
 printf "\n\t$notedir"
 done
 printf "\nEnter the full pathname to a new Neorg notes folder."
 printf "\nPress <Enter> to continue using existing folder(s).\n"
 while true; do
 read -r -p "Neorg notes location: " notes
 case $notes in
 "")
 break
 ;;
 *)
 if [ -d "${notes}" ]
 then
 case ${num_neorg_notes} in
 0|1)
 neorg_temp="XXXXX"
 ;;
 2)
 neorg_temp="YYYYY"
 ;;
 3)
 neorg_temp="ZZZZZ"
 ;;
 *)
 neorg_temp=
 ;;
 esac
 [ "${neorg_temp}" ] && {
 cat "${NVIMCONF}" \
 | sed -e "s/${neorg_temp}/${notes}/" >/tmp/nvim$$
 cp /tmp/nvim$$ "${NVIMCONF}"
 rm -f /tmp/nvim$$
 set_conf_table "NEORG_NOTES" "${notes}" "enable"
 }
 break
 else
 printf "\n${notes} does not exist or is not a directory."
 printf "\nEnter the full path to a Neorg notes folder, or"
 printf "\npress <Enter> to retain the current setting.\n"
 fi
 ;;
 esac
 done
 break
 ;;
 " Obsidian"*,* | *," Obsidian"*)
 printf "\n\nCurrent Obsidian Vault location: ${obsidian_vault}"
 printf "\nEnter the full pathname to the Obsidian vault."
 printf "\nPress <Enter> to continue using existing vault.\n"
 while true; do
 read -r -p "Obsidian vault location: " vault
 case $vault in
 "")
 break
 ;;
 *)
 if [ -d "${vault}" ]
 then
 set_conf_value "obsidian_vault" "${vault}"
 break
 else
 printf "\n${vault} does not exist or is not a directory."
 printf "\nEnter the full path to an Obsidian folder, or"
 printf "\npress <Enter> to retain the current setting.\n"
 fi
 ;;
 esac
 done
 break
 ;;
 " Preview"*,* | *," Preview"*)
 choices=("Preview" "Peek" "None")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Select Markdown Preview  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 if [ "${choice}" == "Preview" ]; then
 set_conf_value "markdown_preview" "preview"
 else
 if [ "${choice}" == "Peek" ]; then
 set_conf_value "markdown_preview" "peek"
 else
 if [ "${choice}" == "None" ]; then
 set_conf_value "markdown_preview" "none"
 fi
 fi
 fi
 pluginit=1
 fi
 break
 ;;
 "Session"*,* | *,"Session"*)
 choices=("Persistence" "Possession" "None")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Neovim Session Manager  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 if [ "${choice}" == "Possession" ]; then
 set_conf_value "session_manager" "possession"
 else
 if [ "${choice}" == "Persistence" ]; then
 set_conf_value "session_manager" "persistence"
 else
 if [ "${choice}" == "None" ]; then
 set_conf_value "session_manager" "none"
 fi
 fi
 fi
 pluginit=1
 fi
 break
 ;;
 "File"*,* | *,"File"*)
 choices=("Neotree" "Nvimtree" "None")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Neovim File Tree  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 if [ "${choice}" == "Neotree" ]; then
 set_conf_value "file_tree" "neo-tree"
 else
 if [ "${choice}" == "Nvimtree" ]; then
 set_conf_value "file_tree" "nvim-tree"
 else
 if [ "${choice}" == "None" ]; then
 set_conf_value "file_tree" "none"
 fi
 fi
 fi
 pluginit=1
 fi
 break
 ;;
 "Noice"*,* | *,"Noice"*)
 if [ "${enable_noice}" == "true" ]; then
 set_conf_value "enable_noice" "false"
 else
 set_conf_value "enable_noice" "true"
 fi
 pluginit=1
 break
 ;;
 "ChatGPT"*,* | *,"ChatGPT"*)
 if [ "${enable_chatgpt}" == "true" ]; then
 set_conf_value "enable_chatgpt" "false"
 pluginit=1
 else
 if [ "$OPENAI_API_KEY" ]; then
 set_conf_value "enable_chatgpt" "true"
 pluginit=1
 else
 printf "\nThe OPENAI_API_KEY environment variable must be set"
 printf "\nbefore enabling the ChatGPT plugin."
 prompt_continue
 fi
 fi
 break
 ;;
 "Codeium"*,* | *,"Codeium"*)
 if [ "${enable_codeium}" == "true" ]; then
 set_conf_value "enable_codeium" "false"
 else
 set_conf_value "enable_codeium" "true"
 fi
 pluginit=1
 break
 ;;
 "Copilot"*,* | *,"Copilot"*)
 if [ "${enable_copilot}" == "true" ]; then
 set_conf_value "enable_copilot" "false"
 else
 set_conf_value "enable_copilot" "true"
 fi
 pluginit=1
 break
 ;;
 " Remove GPT"*,* | *," Remove GPT"*)
 rm -f "${HOME}/.codeexplain/model.bin"
 for models in "${HOME}"/.codeexplain/*
 do
 [ "${models}" == "${HOME}/.codeexplain/*" ] && {
 rmdir "${HOME}/.codeexplain"
 }
 done
 set_conf_value "enable_codeexplain" "false"
 pluginit=1
 break
 ;;
 "GPT4ALL"*,* | *,"GPT4ALL"*)
 if [ "${enable_codeexplain}" == "true" ]; then
 set_conf_value "enable_codeexplain" "false"
 else
 if [ -f "${HOME}/.codeexplain/model.bin" ]; then
 set_conf_value "enable_codeexplain" "true"
 else
 [ -x ${LMANDIR}/scripts/gpt4all.sh ] || {
 printf "\n${LMANDIR}/scripts/gpt4all.sh not executable"
 printf "\nUnable to enable the codeexplain.nvim plugin."
 printf "\nPlease check the Lazyman installation."
 prompt_continue
 }
 printf "\nThe GPT4ALL model must be downloaded before"
 printf "\nenabling the codeexplain.nvim GPT4ALL plugin."
 printf "\nThe model is nearly 4GB in ${HOME}/.codeexplain/."
 printf "\nWould you like to download the GPT4ALL model?\n"
 while true; do
 read -r -p "Download GPT4ALL model (no API key required) ? (y/n) " yn
 case $yn in
 [Yy]*)
 printf "\nDownloading large file, please be patient ..."
 ${LMANDIR}/scripts/gpt4all.sh
 if [ -f "${HOME}/.codeexplain/model.bin" ]; then
 printf " done\n"
 set_conf_value "enable_codeexplain" "true"
 else
 printf "\nDownload failed. Unable to enable plugin."
 prompt_continue
 fi
 break
 ;;
 [Nn]*)
 break
 ;;
 *)
 printf "\nPlease answer yes or no.\n"
 ;;
 esac
 done
 fi
 fi
 pluginit=1
 break
 ;;
 "NeoAI"*,* | *,"NeoAI"*)
 if [ "${enable_neoai}" == "true" ]; then
 set_conf_value "enable_neoai" "false"
 pluginit=1
 else
 if [ "$OPENAI_API_KEY" ]; then
 set_conf_value "enable_neoai" "true"
 pluginit=1
 else
 printf "\nThe OPENAI_API_KEY environment variable must be set"
 printf "\nbefore enabling the NeoAI plugin."
 prompt_continue
 fi
 fi
 break
 ;;
 "Tabnine"*,* | *,"Tabnine"*)
 if [ "${enable_tabnine}" == "true" ]; then
 set_conf_value "enable_tabnine" "false"
 else
 set_conf_value "enable_tabnine" "true"
 fi
 pluginit=1
 break
 ;;
 "Surround"*,* | *,"Surround"*)
 if [ "${enable_surround}" == "true" ]; then
 set_conf_value "enable_surround" "false"
 else
 set_conf_value "enable_surround" "true"
 fi
 pluginit=1
 break
 ;;
 "Lualine Style"*,* | *,"Lualine Style"*)
 if [ "${use_lualine_style}" == "free" ]; then
 set_conf_value "lualine_style" "onno"
 else
 set_conf_value "lualine_style" "free"
 fi
 pluginit=1
 break
 ;;
 " Separator"*,* | *," Separator"*)
 if [ "${use_lualine_separator}" == "bubble" ]; then
 set_conf_value "lualine_separator" "arrow"
 else
 set_conf_value "lualine_separator" "bubble"
 fi
 pluginit=1
 break
 ;;
 " Fancy"*,* | *," Fancy"*)
 if [ "${enable_fancy}" == "true" ]; then
 set_conf_value "enable_fancy" "false"
 else
 set_conf_value "enable_fancy" "true"
 fi
 pluginit=1
 break
 ;;
 "Wilder"*,* | *,"Wilder"*)
 if [ "${enable_wilder}" == "true" ]; then
 set_conf_value "enable_wilder" "false"
 else
 set_conf_value "enable_wilder" "true"
 fi
 pluginit=1
 break
 ;;
 "Winbar LSP"*,* | *,"Winbar LSP"*)
 if [ "${enable_lualine_lsp_progress}" == "true" ]; then
 set_conf_value "enable_lualine_lsp_progress" "false"
 else
 set_conf_value "enable_lualine_lsp_progress" "true"
 fi
 pluginit=1
 break
 ;;
 "Terminal"*,* | *,"Terminal"*)
 if [ "${enable_terminal}" == "true" ]; then
 set_conf_value "enable_terminal" "false"
 else
 set_conf_value "enable_terminal" "true"
 fi
 pluginit=1
 break
 ;;
 "Toggle Term"*,* | *,"Toggle Term"*)
 if [ "${enable_toggleterm}" == "true" ]; then
 set_conf_value "enable_toggleterm" "false"
 else
 set_conf_value "enable_toggleterm" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable Test"*,* | *,"Enable Test"*)
 if [ "${enable_neotest}" == "true" ]; then
 set_conf_value "enable_neotest" "false"
 else
 set_conf_value "enable_neotest" "true"
 fi
 pluginit=1
 break
 ;;
 "WakaTime"*,* | *,"WakaTime"*)
 if [ "${enable_wakatime}" == "true" ]; then
 set_conf_value "enable_wakatime" "false"
 else
 if [ -f "${HOME}"/.wakatime.cfg ]; then
 set_conf_value "enable_wakatime" "true"
 else
 printf "\nIt appears you do not have a configured WakaTime API key."
 printf "\nWould you like to proceed with enabling WakaTime?\n"
 while true; do
 read -r -p "Enable WakaTime (API key required) ? (y/n) " yn
 case $yn in
 [Yy]*)
 set_conf_value "enable_wakatime" "true"
 break
 ;;
 [Nn]*)
 break
 ;;
 *)
 printf "\nPlease answer yes or no.\n"
 ;;
 esac
 done
 fi
 fi
 pluginit=1
 break
 ;;
 "Ascii Art"*,* | *,"Ascii Art"*)
 if [ "${enable_asciiart}" == "true" ]; then
 set_conf_value "enable_asciiart" "false"
 else
 set_conf_value "enable_asciiart" "true"
 fi
 pluginit=1
 break
 ;;
 "Cheatsheets"*,* | *,"Cheatsheets"*)
 if [ "${enable_cheatsheet}" == "true" ]; then
 set_conf_value "enable_cheatsheet" "false"
 else
 set_conf_value "enable_cheatsheet" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable Motion"*,* | *,"Enable Motion"*)
 if [ "${use_namespace}" == "onno" ]; then
 choices=("Hop" "Leap" "None")
 else
 choices=("Hop" "Flash" "Leap" "None")
 fi
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Neovim Motion Plugin  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 case ${choice} in
 Hop|hop)
 set_conf_value "enable_motion" "hop"
 ;;
 Flash|flash)
 set_conf_value "enable_motion" "flash"
 ;;
 Leap|leap)
 set_conf_value "enable_motion" "leap"
 ;;
 None|none)
 set_conf_value "enable_motion" "none"
 ;;
 *)
 break
 ;;
 esac
 pluginit=1
 fi
 break
 ;;
 "Enable Notes"*,* | *,"Enable Notes"*)
 if [ "${enable_notes}" == "true" ]; then
 set_conf_value "enable_notes" "false"
 else
 set_conf_value "enable_notes" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable Obsidian"*,* | *,"Enable Obsidian"*)
 if [ "${enable_obsidian}" == "true" ]; then
 set_conf_value "enable_obsidian" "false"
 else
 set_conf_value "enable_obsidian" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable Ranger"*,* | *,"Enable Ranger"*)
 if [ "${enable_ranger}" == "true" ]; then
 set_conf_value "enable_ranger_float" "false"
 else
 set_conf_value "enable_ranger_float" "true"
 fi
 pluginit=1
 break
 ;;
 "Securitree"*,* | *,"Securitree"*)
 if [ "${enable_securitree}" == "true" ]; then
 set_conf_value "enable_securitree" "false"
 else
 set_conf_value "enable_securitree" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable coding"*,* | *,"Enable coding"*)
 if [ "${enable_coding}" == "true" ]; then
 printf "\n\nDisabling coding will disable LSP servers and several"
 printf "\nplugins providing coding and diagnostics features."
 printf "\nThis will create an editing environment for non-programmers."
 printf "\nIndividual features can be re-enabled using these menus.\n"
 while true; do
 read -r -p "Proceed with disabling coding features? (y/n) " yn
 case $yn in
 [Yy]*)
 set_conf_value "enable_coding" "false"
 for lsp in "${all_lsp_servers[@]}"; do
 set_conf_table "LSP_SERVERS" "${lsp}" "disable"
 done
 set_conf_value "typescript_server" "none"
 break
 ;;
 [Nn]*)
 printf "\nSkipping disabling coding features\n"
 break
 ;;
 *)
 printf "\nPlease answer yes or no.\n"
 ;;
 esac
 done
 else
 set_conf_value "enable_coding" "true"
 for lsp in "${all_lsp_servers[@]}"; do
 set_conf_table "LSP_SERVERS" "${lsp}" "enable"
 done
 set_conf_value "typescript_server" "tsserver"
 fi
 pluginit=1
 break
 ;;
 "Compile"*,* | *,"Compile"*)
 if [ "${enable_compile}" == "true" ]; then
 set_conf_value "enable_compile" "false"
 else
 set_conf_value "enable_compile" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable Rename"*,* | *,"Enable Rename"*)
 if [ "${enable_renamer}" == "true" ]; then
 set_conf_value "enable_renamer" "false"
 else
 set_conf_value "enable_renamer" "true"
 fi
 pluginit=1
 break
 ;;
 "Bdelete"*,* | *,"Bdelete"*)
 if [ "${enable_bbye}" == "true" ]; then
 set_conf_value "enable_bbye" "false"
 else
 set_conf_value "enable_bbye" "true"
 fi
 pluginit=1
 break
 ;;
 "StartupTime"*,* | *,"StartupTime"*)
 if [ "${enable_startuptime}" == "true" ]; then
 set_conf_value "enable_startuptime" "false"
 else
 set_conf_value "enable_startuptime" "true"
 fi
 pluginit=1
 break
 ;;
 "Dressing"*,* | *,"Dressing"*)
 if [ "${enable_dressing}" == "true" ]; then
 set_conf_value "enable_dressing" "false"
 else
 set_conf_value "enable_dressing" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable Games"*,* | *,"Enable Games"*)
 if [ "${enable_games}" == "true" ]; then
 set_conf_value "enable_games" "false"
 else
 set_conf_value "enable_games" "true"
 fi
 pluginit=1
 break
 ;;
 "Animate"*,* | *,"Animate"*)
 if [ "${enable_animate}" == "true" ]; then
 set_conf_value "enable_animate" "false"
 else
 set_conf_value "enable_animate" "true"
 fi
 pluginit=1
 break
 ;;
 "Duck"*,* | *,"Duck"*)
 if [ "${enable_duck}" == "true" ]; then
 set_conf_value "enable_duck" "false"
 else
 set_conf_value "enable_duck" "true"
 fi
 pluginit=1
 break
 ;;
 "Flirt"*,* | *,"Flirt"*)
 if [ "${enable_flirt}" == "true" ]; then
 set_conf_value "enable_flirt" "false"
 else
 set_conf_value "enable_flirt" "true"
 fi
 pluginit=1
 break
 ;;
 "Dashboard"*,* | *,"Dashboard"*)
 choices=("alpha" "dash" "mini" "none")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Neovim Dashboard  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 [ "${choice}" == "${use_dash}" ] || {
 set_conf_value "dashboard" "${choice}"
 pluginit=1
 }
 fi
 break
 ;;
 "Bookmarks"*,* | *,"Bookmarks"*)
 if [ "${enable_bookmarks}" == "true" ]; then
 set_conf_value "enable_bookmarks" "false"
 else
 set_conf_value "enable_bookmarks" "true"
 fi
 pluginit=1
 break
 ;;
 "Enable IDE"*,* | *,"Enable IDE"*)
 if [ "${enable_ide}" == "true" ]; then
 set_conf_value "enable_ide" "false"
 else
 set_conf_value "enable_ide" "true"
 fi
 pluginit=1
 break
 ;;
 "Navigator"*,* | *,"Navigator"*)
 if [ "${enable_navigator}" == "true" ]; then
 set_conf_value "enable_navigator" "false"
 else
 set_conf_value "enable_navigator" "true"
 fi
 pluginit=1
 break
 ;;
 "Project"*,* | *,"Project"*)
 if [ "${enable_project}" == "true" ]; then
 set_conf_value "enable_project" "false"
 else
 set_conf_value "enable_project" "true"
 fi
 pluginit=1
 break
 ;;
 "Picker"*,* | *,"Picker"*)
 if [ "${enable_picker}" == "true" ]; then
 set_conf_value "enable_picker" "false"
 else
 set_conf_value "enable_picker" "true"
 fi
 pluginit=1
 break
 ;;
 "Smooth Scroll"*,* | *,"Smooth Scroll"*)
 if [ "${enable_smooth_scrolling}" == "true" ]; then
 set_conf_value "enable_smooth_scrolling" "false"
 else
 set_conf_value "enable_smooth_scrolling" "true"
 fi
 pluginit=1
 break
 ;;
 " Recent Files"*,* | *," Recent Files"*)
 choices=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Number of Recent Files  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${dashboard_recent_files}" ] || {
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "dashboard_recent_files" "${choice}"
 pluginit=1
 fi
 }
 break
 ;;
 *"Alpha Header"*,* | *,*"Alpha Header"*)
 if [ "${enable_dashboard_header}" == "true" ]; then
 set_conf_value "enable_dashboard_header" "false"
 else
 set_conf_value "enable_dashboard_header" "true"
 fi
 pluginit=1
 break
 ;;
 " Quick Links"*,* | *," Quick Links"*)
 if [ "${enable_dashboard_quick_links}" == "true" ]; then
 set_conf_value "enable_dashboard_quick_links" "false"
 else
 set_conf_value "enable_dashboard_quick_links" "true"
 fi
 pluginit=1
 break
 ;;
 "Screensaver"*,* | *,"Screensaver"*)
 choices=("epilepsy" "leaves" "snow" "spring" "stars" "summer" "treadmill" "vanish" "xmas" "drop" "zone" "random" "none")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Select Screensaver  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "enable_screensaver" "${choice}"
 pluginit=1
 fi
 break
 ;;
 " Timeout"*,* | *," Timeout"*)
 choices=("1" "2" "3" "4" "5" "10" "15" "30" "45")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Screensaver Timeout in Minutes  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${screensaver_timeout}" ] || {
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "screensaver_timeout" "${choice}"
 pluginit=1
 fi
 }
 break
 ;;
 "Indentline"*,* | *,"Indentline"*)
 choices=("background" "colored" "context" "listchars" "mini" "simple" "none")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Select Indentline Style  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${use_indentline}" ] || {
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "indentline_style" "${choice}"
 pluginit=1
 fi
 }
 break
 ;;
 "Disable All"*,* | *,"Disable All"*)
 set_conf_value "dashboard" "none"
 set_conf_value "file_tree" "none"
 set_conf_value "media_backend" "none"
 set_conf_value "session_manager" "none"
 set_conf_value "enable_noice" "false"
 set_conf_value "enable_chatgpt" "false"
 set_conf_value "enable_codeium" "false"
 set_conf_value "enable_copilot" "false"
 set_conf_value "enable_codeexplain" "false"
 set_conf_value "enable_neoai" "false"
 set_conf_value "enable_tabnine" "false"
 set_conf_value "enable_surround" "false"
 set_conf_value "enable_fancy" "false"
 set_conf_value "enable_wilder" "false"
 set_conf_value "enable_lualine_lsp_progress" "false"
 set_conf_value "enable_terminal" "false"
 set_conf_value "enable_toggleterm" "false"
 set_conf_value "enable_neotest" "false"
 set_conf_value "enable_wakatime" "false"
 set_conf_value "enable_asciiart" "false"
 set_conf_value "enable_cheatsheet" "false"
 set_conf_value "enable_notes" "false"
 set_conf_value "markdown_preview" "none"
 set_conf_value "enable_coding" "false"
 set_conf_value "enable_compile" "false"
 set_conf_value "enable_dressing" "false"
 set_conf_value "enable_motion" "none"
 set_conf_value "enable_obsidian" "false"
 set_conf_value "enable_ranger_float" "false"
 set_conf_value "enable_renamer" "false"
 set_conf_value "enable_securitree" "false"
 set_conf_value "enable_bbye" "false"
 set_conf_value "enable_startuptime" "false"
 set_conf_value "enable_animate" "false"
 set_conf_value "enable_duck" "false"
 set_conf_value "enable_flirt" "false"
 set_conf_value "enable_games" "false"
 set_conf_value "enable_bookmarks" "false"
 set_conf_value "enable_ide" "false"
 set_conf_value "enable_navigator" "false"
 set_conf_value "enable_project" "false"
 set_conf_value "enable_picker" "false"
 set_conf_value "enable_smooth_scrolling" "false"
 set_conf_value "enable_dashboard_header" "false"
 set_conf_value "enable_dashboard_quick_links" "false"
 set_conf_value "enable_screensaver" "none"
 set_conf_value "indentline_style" "none"
 pluginit=1
 break
 ;;
 "Enable All"*,* | *,"Enable All"*)
 set_conf_value "dashboard" "dash"
 set_conf_value "file_tree" "neo-tree"
 set_conf_value "media_backend" "jp2a"
 set_conf_value "session_manager" "possession"
 set_conf_value "enable_noice" "true"
 set_conf_value "enable_chatgpt" "true"
 set_conf_value "enable_codeium" "true"
 set_conf_value "enable_copilot" "true"
 set_conf_value "enable_neoai" "true"
 set_conf_value "enable_tabnine" "true"
 [ -f "${HOME}/.codeexplain/model.bin" ] && {
 pyver=$(check_python_version)
 [ "${pyver}" == "OK" ] && {
 set_conf_value "enable_codeexplain" "true"
 }
 }
 set_conf_value "enable_surround" "true"
 set_conf_value "enable_fancy" "true"
 set_conf_value "enable_wilder" "true"
 set_conf_value "enable_lualine_lsp_progress" "true"
 set_conf_value "enable_terminal" "true"
 set_conf_value "enable_toggleterm" "true"
 set_conf_value "enable_neotest" "true"
 [ -f "${HOME}"/.wakatime.cfg ] && set_conf_value "enable_wakatime" "true"
 set_conf_value "enable_asciiart" "true"
 set_conf_value "enable_cheatsheet" "true"
 set_conf_value "enable_notes" "true"
 set_conf_value "markdown_preview" "peek"
 set_conf_value "enable_coding" "true"
 set_conf_value "enable_compile" "true"
 set_conf_value "enable_dressing" "true"
 set_conf_value "enable_motion" "leap"
 set_conf_value "enable_obsidian" "true"
 set_conf_value "enable_ranger_float" "true"
 set_conf_value "enable_renamer" "true"
 set_conf_value "enable_securitree" "true"
 set_conf_value "enable_bbye" "true"
 set_conf_value "enable_startuptime" "true"
 set_conf_value "enable_animate" "true"
 set_conf_value "enable_duck" "true"
 set_conf_value "enable_flirt" "true"
 set_conf_value "enable_games" "true"
 set_conf_value "enable_bookmarks" "true"
 set_conf_value "enable_ide" "true"
 set_conf_value "enable_navigator" "true"
 set_conf_value "enable_project" "true"
 set_conf_value "enable_picker" "true"
 set_conf_value "enable_smooth_scrolling" "true"
 set_conf_value "enable_dashboard_header" "true"
 set_conf_value "enable_dashboard_quick_links" "true"
 set_conf_value "enable_screensaver" "random"
 set_conf_value "indentline_style" "mini"
 set_conf_value "list" "true"
 pluginit=1
 break
 ;;
 "Reset"*,* | *,"Reset"*)
 [ -f ${CONFBACK} ] && {
 cp ${CONFBACK} ${NVIMCONF}
 set_code_explain
 set_ranger_float
 set_waka_opt
 pluginit=1
 }
 break
 ;;
 "Open Lazyman",* | *,"Open Lazyman" | "o",* | *,"o")
 if [ "${USEGUI}" ]; then
 NVIM_APPNAME="${LAZYMAN}" neovide
 else
 NVIM_APPNAME="${LAZYMAN}" nvim
 fi
 break
 ;;
 "Config Menu"*,* | *,"Config Menu"* | "c",* | *,"c")
 confmenu=1
 break 2
 ;;
 "Formatters"*,* | *,"Formatters"* | "f",* | *,"f")
 formenu=1
 break 2
 ;;
 "LSP Servers"*,* | *,"LSP Servers"* | "l",* | *,"l")
 lspmenu=1
 break 2
 ;;
 "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 mainmenu=1
 break 2
 ;;
 "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 printf "\nExiting Lazyman Configuration Menu System\n\n"
 exit 3
 ;;
 *,*)
 printf "\nNo matching menu item located."
 printf "\nSelection out of range or malformed."
 prompt_continue
 break
 ;;
 esac
 REPLY=
 done
 done
 [ "${confmenu}" ] && show_conf_menu
 [ "${mainmenu}" ] && exit 2
 [ "${lspmenu}" ] && show_lsp_menu
 [ "${formenu}" ] && show_formlint_menu
}
show_lsp_help() {
 if [ "${have_rich}" ]; then
 rich "[cyan]Lazyman LSP Servers Menu Help[/cyan]" -p -a rounded -c -C
 else
 printf "\n\tLazyman LSP Servers Menu Help\n"
 fi
 printf "\nEnable and disable installed Neovim language servers."
 printf "\nEnabled language servers are indicated with a []"
 printf "\nDisabled language servers are indicated with a [✗]\n"
 printf "\nThe Language Server Protocol (LSP) is an open protocol for use between"
 printf "\nsource code editors or integrated development environments (IDEs) and"
 printf "\nservers that provide programming language-specific features like code"
 printf "\ncompletion, syntax highlighting and marking of warnings and errors,"
 printf "\nas well as refactoring routines.\n"
 printf "\nSettings in this menu only effect the Lazyman Neovim configuration in:"
 printf "\n\t${HOME}/.config/nvim-Lazyman\n"
 prompt_continue
}
show_lsp_menu() {
 set_haves
 while true; do
 mainmenu=
 confmenu=
 plugmenu=
 formmenu=
 versmenu=
 [ -f ${GET_CONF} ] || {
 printf "\n\nWARNING: missing ${GET_CONF}"
 printf "\nUnable to modify configuration from this menu"
 printf "\nYou may need to update or re-install Lazyman"
 prompt_continue
 mainmenu=1
 break
 }
 [ "$debug" ] || tput reset
 if [ "${have_rich}" ]; then
 rich "[cyan]Lazyman LSP Servers Menu[/cyan]" -p -a rounded -c -C
 rich "[b green]Enable/Disable LSP servers used by[/] [b yellow]~/.config/nvim-Lazyman[/]" -p -c
 else
 [ "${have_figlet}" ] && show_figlet "LSP Menu"
 fi
 printf '\n'
 get_conf_table lsp_servers
 namespace=$(get_conf_value namespace)
 ts_server=$(get_conf_value typescript_server)
 PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}"
 options=()
 readarray -t lsp_sorted < <(printf '%s0円' "${all_lsp_servers[@]}" | sort -z | xargs -0n1)
 for lsp in "${lsp_sorted[@]}"; do
 len=${#lsp}
 numsp=$((14 - len))
 [ ${numsp} -lt 0 ] && numsp=0
 longlsp="${lsp}"
 while [ ${numsp} -gt 0 ]; do
 longlsp="${longlsp} "
 ((numsp -= 1))
 done
 if echo "${lsp_enabled_table[@]}" | grep -qw "$lsp" >/dev/null; then
 if [ "${lsp}" == "tsserver" ]; then
 if [ "${namespace}" == "ecovim" ]; then
 if [ "${ts_server}" == "tsserver" ]; then
 options+=("${longlsp} []")
 else
 options+=("${longlsp} [✗]")
 fi
 options+=("typescript [${ts_server}]")
 else
 options+=("${longlsp} []")
 fi
 else
 options+=("${longlsp} []")
 fi
 else
 options+=("${longlsp} [✗]")
 [ "${lsp}" == "tsserver" ] && {
 [ "${namespace}" == "ecovim" ] && {
 options+=("typescript [${ts_server}]")
 }
 }
 fi
 done
 options+=("Disable All")
 options+=("Enable All")
 options+=("Formatters Menu")
 options+=("Plugins Menu")
 options+=("Config Menu")
 options+=("Main Menu")
 options+=("Quit")
 select opt in "${options[@]}"; do
 case "$opt,$REPLY" in
 "h",* | *,"h" | "H",* | *,"H" | "help",* | *,"help" | "Help",* | *,"Help")
 [ "$debug" ] || tput reset
 show_lsp_help
 break
 ;;
 "typescript"*,* | *,"typescript"*)
 choices=("tsserver" "tools" "none")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Select typescript server  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 [ "${choice}" == "${ts_server}" ] || {
 set_conf_value "typescript_server" "${choice}"
 pluginit=1
 }
 fi
 break
 ;;
 "Disable All"*,* | *,"Disable All"*)
 for lsp in "${all_lsp_servers[@]}"; do
 set_conf_table "LSP_SERVERS" "${lsp}" "disable"
 done
 pluginit=1
 break
 ;;
 "Enable All"*,* | *,"Enable All"*)
 for lsp in "${all_lsp_servers[@]}"; do
 set_conf_table "LSP_SERVERS" "${lsp}" "enable"
 done
 pluginit=1
 break
 ;;
 "Formatters Menu"*,* | *,"Formatters Menu"* | "f",* | *,"f")
 formmenu=1
 break 2
 ;;
 "Config Menu"*,* | *,"Config Menu"* | "c",* | *,"c")
 confmenu=1
 break 2
 ;;
 "Plugins Menu"*,* | *,"Plugins Menu"* | "p",* | *,"p")
 plugmenu=1
 break 2
 ;;
 "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 mainmenu=1
 break 2
 ;;
 "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 printf "\nExiting Lazyman Configuration Menu System\n\n"
 exit 3
 ;;
 *,*)
 enable=
 if [ "${opt}" ]; then
 lspname=$(echo "${opt}" | awk ' { print 1ドル } ')
 else
 lspname=$(echo "${REPLY}" | awk ' { print 1ドル } ')
 fi
 grep "LSP_SERVERS" "${NVIMCONF}" | grep "\-\- \"${lspname}" >/dev/null && enable=1
 if [ "${lspname}" == "tsserver" ]; then
 if [ "${namespace}" == "ecovim" ]; then
 if [ "${enable}" ]; then
 set_conf_value "typescript_server" "tsserver"
 set_conf_table "LSP_SERVERS" "${lspname}" "enable"
 else
 set_conf_value "typescript_server" "tools"
 set_conf_table "LSP_SERVERS" "${lspname}" "disable"
 fi
 else
 if [ "${enable}" ]; then
 set_conf_table "LSP_SERVERS" "${lspname}" "enable"
 else
 set_conf_table "LSP_SERVERS" "${lspname}" "disable"
 fi
 fi
 else
 if [ "${enable}" ]; then
 set_conf_table "LSP_SERVERS" "${lspname}" "enable"
 else
 set_conf_table "LSP_SERVERS" "${lspname}" "disable"
 fi
 fi
 pluginit=1
 break
 ;;
 esac
 REPLY=
 done
 done
 [ "${mainmenu}" ] && exit 2
 [ "${confmenu}" ] && show_conf_menu
 [ "${plugmenu}" ] && show_plugin_menu
 [ "${formmenu}" ] && show_formlint_menu
}
show_form_help() {
 if [ "${have_rich}" ]; then
 rich "[cyan]Lazyman Formatters and Linters Menu Help[/cyan]" -p -a rounded -c -C
 else
 printf "\n\tLazyman Formatters and Linters Menu Help\n"
 fi
 printf "\nEnable and disable installed Neovim formatters and linters."
 printf "\nEnabled formatters and linters are indicated with a []"
 printf "\nDisabled formatters and linters are indicated with a [✗]\n"
 printf "\nThese tools perform code formatting, static code analysis, and flag"
 printf "\nprogramming errors, bugs, stylistic errors and suspicious constructs.\n"
 printf "\nSettings in this menu only effect the Lazyman Neovim configuration in:"
 printf "\n\t${HOME}/.config/nvim-Lazyman\n"
 prompt_continue
}
show_formlint_menu() {
 set_haves
 while true; do
 mainmenu=
 confmenu=
 plugmenu=
 lspsmenu=
 versmenu=
 [ -f ${GET_CONF} ] || {
 printf "\n\nWARNING: missing ${GET_CONF}"
 printf "\nUnable to modify configuration from this menu"
 printf "\nYou may need to update or re-install Lazyman"
 prompt_continue
 mainmenu=1
 break
 }
 [ "$debug" ] || tput reset
 if [ "${have_rich}" ]; then
 rich "[cyan]Lazyman Formatters and Linters Menu[/cyan]" -p -a rounded -c -C
 rich "[b green]Enable/Disable formatters and linters used by[/] [b yellow]~/.config/nvim-Lazyman[/]" -p -c
 else
 [ "${have_figlet}" ] && show_figlet "Formatters"
 fi
 printf '\n'
 get_conf_table formatters_linters
 PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}"
 options=()
 readarray -t form_sorted < <(printf '%s0円' "${all_formatters[@]}" | sort -z | xargs -0n1)
 for form in "${form_sorted[@]}"; do
 len=${#form}
 numsp=$((19 - len))
 [ ${numsp} -lt 0 ] && numsp=0
 longform="${form}"
 while [ ${numsp} -gt 0 ]; do
 longform="${longform} "
 ((numsp -= 1))
 done
 if echo "${for_enabled_table[@]}" | grep -qw "$form" >/dev/null; then
 options+=("${longform} []")
 else
 options+=("${longform} [✗]")
 fi
 done
 options+=("Disable All")
 options+=("Enable All")
 options+=("LSP Servers Menu")
 options+=("Plugins Menu")
 options+=("Config Menu")
 options+=("Main Menu")
 options+=("Quit")
 select opt in "${options[@]}"; do
 case "$opt,$REPLY" in
 "h",* | *,"h" | "H",* | *,"H" | "help",* | *,"help" | "Help",* | *,"Help")
 [ "$debug" ] || tput reset
 show_form_help
 break
 ;;
 "Disable All"*,* | *,"Disable All"*)
 for form in "${all_formatters[@]}"; do
 set_conf_table "FORMATTERS_LINTERS" "${form}" "disable"
 done
 pluginit=1
 break
 ;;
 "Enable All"*,* | *,"Enable All"*)
 for form in "${all_formatters[@]}"; do
 set_conf_table "FORMATTERS_LINTERS" "${form}" "enable"
 done
 pluginit=1
 break
 ;;
 "LSP Servers"*,* | *,"LSP Servers"* | "l",* | *,"l")
 lspsmenu=1
 break 2
 ;;
 "Plugins Menu"*,* | *,"Plugins Menu"* | "p",* | *,"p")
 plugmenu=1
 break 2
 ;;
 "Config Menu"*,* | *,"Config Menu"* | "c",* | *,"c")
 confmenu=1
 break 2
 ;;
 "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 mainmenu=1
 break 2
 ;;
 "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q")
 [ "${pluginit}" ] && lazyman -N ${LAZYMAN} init
 printf "\nExiting Lazyman Configuration Menu System\n\n"
 exit 3
 ;;
 *,*)
 enable=
 if [ "${opt}" ]; then
 forname=$(echo "${opt}" | awk ' { print 1ドル } ')
 else
 forname=$(echo "${REPLY}" | awk ' { print 1ドル } ')
 fi
 grep "FORMATTERS_LINTERS" "${NVIMCONF}" | grep "\-\- \"${forname}" >/dev/null && enable=1
 if [ "${enable}" ]; then
 set_conf_table "FORMATTERS_LINTERS" "${forname}" "enable"
 else
 set_conf_table "FORMATTERS_LINTERS" "${forname}" "disable"
 fi
 pluginit=1
 break
 ;;
 esac
 REPLY=
 done
 done
 [ "${mainmenu}" ] && exit 2
 [ "${confmenu}" ] && show_conf_menu
 [ "${plugmenu}" ] && show_plugin_menu
 [ "${lspsmenu}" ] && show_lsp_menu
}
show_conf_menu() {
 set_haves
 while true; do
 mainmenu=
 plugmenu=
 lspmenu=
 formenu=
 lidemenu=
 wdevmenu=
 [ -f ${GET_CONF} ] || {
 printf "\n\nWARNING: missing ${GET_CONF}"
 printf "\nUnable to modify configuration from this menu"
 printf "\nYou may need to update or re-install Lazyman"
 prompt_continue
 mainmenu=1
 break
 }
 [ "$debug" ] || tput reset
 if [ "${have_rich}" ]; then
 rich "[b cyan]Lazyman Configuration Menu[/]" -p -a rounded -c -C
 rich "[b green]Manage the Neovim configuration in[/] [b yellow]~/.config/nvim-Lazyman[/]" -p -c
 else
 [ "${have_figlet}" ] && show_figlet "Config"
 fi
 printf '\n'
 namespace=$(get_conf_value namespace)
 use_namespace="${namespace}"
 theme=$(get_conf_value theme)
 use_theme="${theme}"
 theme_style=$(get_conf_value theme_style)
 use_theme_style="${theme_style}"
 enable_transparent=$(get_conf_value enable_transparent)
 if [ "${enable_transparent}" == "true" ]; then
 use_transparent=""
 else
 use_transparent=""
 fi
 mapleader=$(get_conf_value mapleader)
 use_mapleader="${mapleader}"
 maplocalleader=$(get_conf_value maplocalleader)
 use_maplocalleader="${maplocalleader}"
 enable_number=$(get_conf_value number)
 if [ "${enable_number}" == "true" ]; then
 use_number=""
 else
 use_number=""
 fi
 enable_relative_number=$(get_conf_value relative_number)
 if [ "${enable_relative_number}" == "true" ]; then
 use_relative_number=""
 else
 use_relative_number=""
 fi
 enable_smartcolumn=$(get_conf_value enable_smartcolumn)
 if [ "${enable_smartcolumn}" == "true" ]; then
 use_smartcolumn=""
 else
 use_smartcolumn=""
 fi
 enable_global_statusline=$(get_conf_value global_statusline)
 if [ "${enable_global_statusline}" == "true" ]; then
 use_global_statusline=""
 else
 use_global_statusline=""
 fi
 showtabline=$(get_conf_value showtabline)
 use_showtabline="${showtabline}"
 enable_list=$(get_conf_value list)
 if [ "${enable_list}" == "true" ]; then
 use_list=""
 else
 use_list=""
 fi
 enable_statusline=$(get_conf_value enable_statusline)
 if [ "${enable_statusline}" == "true" ]; then
 use_statusline=""
 else
 use_statusline=""
 fi
 enable_tabline=$(get_conf_value enable_status_in_tab)
 if [ "${enable_tabline}" == "true" ]; then
 use_tabline=""
 else
 use_tabline=""
 fi
 enable_winbar=$(get_conf_value enable_winbar)
 use_winbar="${enable_winbar}"
 show_diagnostics=$(get_conf_value show_diagnostics)
 use_show_diagnostics="${show_diagnostics}"
 enable_semantic_highlighting=$(get_conf_value enable_semantic_highlighting)
 if [ "${enable_semantic_highlighting}" == "true" ]; then
 use_semantic_highlighting=""
 else
 use_semantic_highlighting=""
 fi
 convert_semantic_highlighting=$(get_conf_value convert_semantic_highlighting)
 if [ "${convert_semantic_highlighting}" == "true" ]; then
 convert_semantic_highlighting=""
 else
 convert_semantic_highlighting=""
 fi
 enable_zenmode=$(get_conf_value enable_zenmode)
 if [ "${enable_zenmode}" == "true" ]; then
 use_zenmode=""
 else
 use_zenmode=""
 fi
 enable_alacritty=$(get_conf_value enable_alacritty)
 if [ "${enable_alacritty}" == "true" ]; then
 use_alacritty=""
 else
 use_alacritty=""
 fi
 enable_kitty=$(get_conf_value enable_kitty)
 if [ "${enable_kitty}" == "true" ]; then
 use_kitty=""
 else
 use_kitty=""
 fi
 enable_wezterm=$(get_conf_value enable_wezterm)
 if [ "${enable_wezterm}" == "true" ]; then
 use_wezterm=""
 else
 use_wezterm=""
 fi
 PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}"
 options=()
 options+=("Namespace [${use_namespace}]")
 options+=("Diagnostics [${use_show_diagnostics}]")
 options+=("Theme [${use_theme}]")
 if [[ " ${styled_themes[*]} " =~ " ${use_theme} " ]]; then
 options+=(" Style [${use_theme_style}]")
 fi
 options+=(" Transparency [${use_transparent}]")
 options+=("Leader [${use_mapleader}]")
 options+=("Local Leader [${use_maplocalleader}]")
 options+=("Number Lines [${use_number}]")
 options+=("Relative Nums [${use_relative_number}]")
 options+=("List Chars [${use_list}]")
 options+=("Show Tabline [${use_showtabline}]")
 [ "${use_namespace}" == "ecovim" ] || {
 options+=("Smart Column [${use_smartcolumn}]")
 options+=("Global Status [${use_global_statusline}]")
 options+=("Status Line [${use_statusline}]")
 options+=("Status in Tab [${use_tabline}]")
 [ "${use_namespace}" == "free" ] && {
 options+=("Semantic HL [${use_semantic_highlighting}]")
 options+=("Convert SemHL [${convert_semantic_highlighting}]")
 }
 }
 if [ "${use_winbar}" == "none" ]
 then
 options+=("Winbar [${use_winbar}]")
 else
 options+=("Winbar [${use_winbar}]")
 fi
 [ "${use_namespace}" == "onno" ] || {
 options+=("Zen Mode [${use_zenmode}]")
 [ "${enable_zenmode}" == "true" ] && {
 options+=(" Alacritty [${use_alacritty}]")
 options+=(" Kitty [${use_kitty}]")
 options+=(" Wezterm [${use_wezterm}]")
 }
 }
 options+=("Disable All")
 options+=("Enable All")
 options+=("Minimal Config")
 [ -f ${CONFBACK} ] && {
 diff ${CONFBACK} ${NVIMCONF} >/dev/null || options+=("Reset to Defaults")
 }
 [ -d "${LMANDIR}" ] && options+=("Open Lazyman")
 options+=("Formatters")
 options+=("LSP Servers")
 options+=("Plugins Menu")
 [ -f ${HOME}/.config/nvim-LazyIde/lua/configuration.lua ] && {
 options+=("LazyIde Config")
 }
 [ -f ${HOME}/.config/nvim-Webdev/lua/configuration.lua ] && {
 options+=("Webdev Config")
 }
 options+=("Main Menu")
 options+=("Quit")
 select opt in "${options[@]}"; do
 case "$opt,$REPLY" in
 "h",* | *,"h" | "H",* | *,"H" | "help",* | *,"help" | "Help",* | *,"Help")
 [ "$debug" ] || tput reset
 printf "\n"
 man lazyman
 break
 ;;
 "Smart Column"*,* | *,"Smart Column"*)
 if [ "${enable_smartcolumn}" == "true" ]; then
 set_conf_value "enable_smartcolumn" "false"
 else
 set_conf_value "enable_smartcolumn" "true"
 fi
 pluginit=1
 break
 ;;
 "Status Line"*,* | *,"Status Line"*)
 if [ "${enable_statusline}" == "true" ]; then
 set_conf_value "enable_statusline" "false"
 else
 set_conf_value "enable_statusline" "true"
 fi
 pluginit=1
 break
 ;;
 "Status in Tab"*,* | *,"Status in Tab"*)
 if [ "${enable_tabline}" == "true" ]; then
 set_conf_value "enable_status_in_tab" "false"
 else
 set_conf_value "enable_status_in_tab" "true"
 fi
 pluginit=1
 break
 ;;
 "Winbar"*,* | *,"Winbar"*)
 choices=("Barbecue" "Standard" "None")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Select winbar style  " --layout=reverse --border --exit-0)
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 if [ "${choice}" == "Barbecue" ]; then
 set_conf_value "enable_winbar" "barbecue"
 else
 if [ "${choice}" == "Standard" ]; then
 set_conf_value "enable_winbar" "standard"
 else
 if [ "${choice}" == "None" ]; then
 set_conf_value "enable_winbar" "none"
 fi
 fi
 fi
 pluginit=1
 fi
 break
 ;;
 " Style"*,* | *," Style"*)
 select_theme_style ${theme}
 break
 ;;
 "Theme"*,* | *,"Theme"*)
 select_theme ${theme}
 pluginit=1
 break
 ;;
 " Transparency"*,* | *," Transparency"*)
 if [ "${enable_transparent}" == "true" ]; then
 set_conf_value "enable_transparent" "false"
 else
 set_conf_value "enable_transparent" "true"
 fi
 break
 ;;
 "Namespace"*,* | *,"Namespace"*)
 choices=("ecovim" "free" "onno")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Select configuration namespace (current = ${namespace})  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${namespace}" ] || {
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "namespace" "${choice}"
 # Namespaces have different defaults
 if [ "${choice}" == "onno" ]; then
 set_conf_value "enable_winbar" "barbecue"
 set_conf_value "lualine_style" "onno"
 else
 set_conf_value "lualine_style" "free"
 if [ "${choice}" == "free" ]; then
 set_conf_value "enable_winbar" "standard"
 else
 set_conf_value "enable_winbar" "barbecue"
 fi
 fi
 pluginit=1
 fi
 }
 break
 ;;
 "Leader"*,* | *,"Leader"*)
 if [ "${use_mapleader}" == "," ]; then
 set_conf_value "mapleader" " "
 else
 set_conf_value "mapleader" ","
 fi
 break
 ;;
 "Local Leader"*,* | *,"Local Leader"*)
 if [ "${use_maplocalleader}" == "," ]; then
 set_conf_value "maplocalleader" " "
 else
 set_conf_value "maplocalleader" ","
 fi
 break
 ;;
 "Number Lines"*,* | *,"Number Lines"*)
 if [ "${enable_number}" == "true" ]; then
 set_conf_value "number" "false"
 else
 set_conf_value "number" "true"
 fi
 break
 ;;
 "Relative Num"*,* | *,"Relative Num"*)
 if [ "${enable_relative_number}" == "true" ]; then
 set_conf_value "relative_number" "false"
 else
 set_conf_value "relative_number" "true"
 fi
 break
 ;;
 "List"*,* | *,"List"*)
 if [ "${enable_list}" == "true" ]; then
 set_conf_value "list" "false"
 else
 set_conf_value "list" "true"
 fi
 break
 ;;
 "Global Status"*,* | *,"Global Status"*)
 if [ "${enable_global_statusline}" == "true" ]; then
 set_conf_value "global_statusline" "false"
 else
 set_conf_value "global_statusline" "true"
 fi
 break
 ;;
 "Show Tabline"*,* | *,"Show Tabline"*)
 choices=("0" "1" "2")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Show tabline (0=never, 1=multiple tabs, 2=always)  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${showtabline}" ] || {
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "showtabline" "${choice}"
 fi
 }
 break
 ;;
 "Diagnostic"*,* | *,"Diagnostic"*)
 choices=("none" "icons" "popup")
 choice=$(printf "%s\n" "${choices[@]}" | fzf --prompt=" Neovim Diagnostics  " --layout=reverse --border --exit-0)
 [ "${choice}" == "${show_diagnostics}" ] || {
 if [[ " ${choices[*]} " =~ " ${choice} " ]]; then
 set_conf_value "show_diagnostics" "${choice}"
 fi
 }
 break
 ;;
 "Semantic HL"*,* | *,"Semantic HL"*)
 if [ "${enable_semantic_highlighting}" == "true" ]; then
 set_conf_value "enable_semantic_highlighting" "false"
 else
 set_conf_value "enable_semantic_highlighting" "true"
 fi
 break
 ;;
 "Convert SemHL"*,* | *,"Convert SemHL"*)
 if [ "${convert_semantic_highlighting}" == "true" ]; then
 set_conf_value "convert_semantic_highlighting" "false"
 else
 set_conf_value "convert_semantic_highlighting" "true"
 fi
 break
 ;;
 "Zen Mode"*,* | *,"Zen Mode"*)
 if [ "${enable_zenmode}" == "true" ]; then
 set_conf_value "enable_zenmode" "false"
 else
 set_conf_value "enable_zenmode" "true"
 fi
 pluginit=1
 break
 ;;
 " Alacritty"*,* | *," Alacritty"*)
 if [ "${enable_alacritty}" == "true" ]; then
 set_conf_value "enable_alacritty" "false"
 else
 set_conf_value "enable_alacritty" "true"
 fi
 pluginit=1
 break
 ;;
 " Kitty"*,* | *," Kitty"*)
 if [ "${enable_kitty}" == "true" ]; then
 set_conf_value "enable_kitty" "false"
 else
 set_conf_value "enable_kitty" "true"
 fi
 pluginit=1
 break
 ;;
 " Wezterm"*,* | *," Wezterm"*)
 if [ "${enable_wezterm}" == "true" ]; then
 set_conf_value "enable_wezterm" "false"
 else
 set_conf_value "enable_wezterm" "true"
 fi
 pluginit=1
 break
 ;;
 "Minimal Config"*,* | *,"Minimal Config"*)
 set_conf_value "global_statusline" "false"
 set_conf_value "enable_smartcolumn" "false"
 set_conf_value "enable_statusline" "false"
 set_conf_value "enable_status_in_tab" "false"
 set_conf_value "enable_zenmode" "false"
 set_conf_value "showtabline" "0"
 set_conf_value "enable_winbar" "none"
 set_conf_value "show_diagnostics" "none"
 set_conf_value "enable_semantic_highlighting" "false"
 set_conf_value "convert_semantic_highlighting" "false"
 set_conf_value "media_backend" "none"
 set_conf_value "enable_chatgpt" "false"
 set_conf_value "enable_codeium" "false"
 set_conf_value "enable_copilot" "false"
 set_conf_value "enable_codeexplain" "false"
 set_conf_value "enable_neoai" "false"
 set_conf_value "enable_tabnine" "false"
 set_conf_value "enable_surround" "false"
 set_conf_value "enable_fancy" "false"
 set_conf_value "enable_wilder" "false"
 set_conf_value "enable_lualine_lsp_progress" "false"
 set_conf_value "enable_wakatime" "false"
 set_conf_value "enable_asciiart" "false"
 set_conf_value "enable_coding" "false"
 set_conf_value "enable_compile" "false"
 set_conf_value "enable_dressing" "false"
 set_conf_value "enable_motion" "none"
 set_conf_value "enable_obsidian" "false"
 set_conf_value "enable_ranger_float" "false"
 set_conf_value "enable_renamer" "false"
 set_conf_value "enable_securitree" "false"
 set_conf_value "enable_bbye" "false"
 set_conf_value "enable_startuptime" "false"
 set_conf_value "enable_animate" "false"
 set_conf_value "enable_duck" "false"
 set_conf_value "enable_flirt" "false"
 set_conf_value "enable_games" "false"
 set_conf_value "enable_bookmarks" "false"
 set_conf_value "enable_ide" "false"
 set_conf_value "enable_navigator" "false"
 set_conf_value "enable_project" "false"
 set_conf_value "enable_picker" "false"
 set_conf_value "enable_dashboard_header" "false"
 set_conf_value "enable_screensaver" "none"
 for lsp in "${all_lsp_servers[@]}"; do
 set_conf_table "LSP_SERVERS" "${lsp}" "disable"
 done
 for form in "${all_formatters[@]}"; do
 set_conf_table "FORMATTERS_LINTERS" "${form}" "disable"
 done
 pluginit=1
 break
 ;;
 "Disable All"*,* | *,"Disable All"*)
 set_conf_value "number" "false"
 set_conf_value "relative_number" "false"
 set_conf_value "enable_smartcolumn" "false"
 set_conf_value "global_statusline" "false"
 set_conf_value "enable_statusline" "false"
 set_conf_value "enable_status_in_tab" "false"
 set_conf_value "enable_zenmode" "false"
 set_conf_value "showtabline" "0"
 set_conf_value "enable_winbar" "none"
 set_conf_value "enable_transparent" "false"
 set_conf_value "show_diagnostics" "none"
 set_conf_value "enable_semantic_highlighting" "false"
 set_conf_value "convert_semantic_highlighting" "false"
 set_conf_value "list" "false"
 pluginit=1
 break
 ;;
 "Enable All"*,* | *,"Enable All"*)
 set_conf_value "number" "true"
 set_conf_value "relative_number" "true"
 set_conf_value "enable_smartcolumn" "true"
 set_conf_value "global_statusline" "true"
 set_conf_value "enable_statusline" "true"
 set_conf_value "showtabline" "2"
 set_conf_value "enable_winbar" "barbecue"
 set_conf_value "enable_transparent" "true"
 set_conf_value "show_diagnostics" "popup"
 set_conf_value "enable_semantic_highlighting" "true"
 set_conf_value "convert_semantic_highlighting" "true"
 set_conf_value "list" "true"
 pluginit=1
 break
 ;;
 "Reset"*,* | *,"Reset"*)
 [ -f ${CONFBACK} ] && {
 cp ${CONFBACK} ${NVIMCONF}
 set_code_explain
 set_ranger_float
 set_waka_opt
 pluginit=1
 }
 break
 ;;
 "Open Lazyman",* | *,"Open Lazyman" | "o",* | *,"o")
 if [ "${USEGUI}" ]; then
 NVIM_APPNAME="nvim-Lazyman" neovide
 else
 NVIM_APPNAME="nvim-Lazyman" nvim
 fi
 break
 ;;
 "Formatters"*,* | *,"Formatters"* | "f",* | *,"f")
 formenu=1
 break 2
 ;;
 "LSP Servers"*,* | *,"LSP Servers"* | "l",* | *,"l")
 lspmenu=1
 break 2
 ;;
 "Plugins Menu"*,* | *,"Plugins Menu"* | "p",* | *,"p")
 plugmenu=1
 break 2
 ;;
 "LazyIde Config",* | *,"LazyIde Config" | "L",* | *,"L")
 if [ -f ${HOME}/.config/nvim-LazyIde/lua/configuration.lua ]
 then
 lidemenu=1
 break 2
 else
 break
 fi
 ;;
 "Webdev Config",* | *,"Webdev Config" | "W",* | *,"W")
 if [ -f ${HOME}/.config/nvim-Webdev/lua/configuration.lua ]
 then
 wdevmenu=1
 break 2
 else
 break
 fi
 ;;
 "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m")
 [ "${pluginit}" ] && lazyman -N nvim-Lazyman init
 mainmenu=1
 break 2
 ;;
 "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q")
 [ "${pluginit}" ] && lazyman -N nvim-Lazyman init
 printf "\nExiting Lazyman Configuration Menu System\n\n"
 exit 3
 ;;
 *,*)
 printf "\nNo matching menu item located."
 printf "\nSelection out of range or malformed."
 prompt_continue
 break
 ;;
 esac
 REPLY=
 done
 done
 [ "${mainmenu}" ] && exit 2
 [ "${plugmenu}" ] && show_plugin_menu
 [ "${lspmenu}" ] && show_lsp_menu
 [ "${formenu}" ] && show_formlint_menu
 [ "${lidemenu}" ] && {
 ${LZYIDE}
 exitstatus=$?
 [ ${exitstatus} -eq 3 ] && exit 0
 [ ${exitstatus} -eq 5 ] && exec lazyman -F webdev
 }
 [ "${wdevmenu}" ] && {
 ${WEBDEV}
 exitstatus=$?
 [ ${exitstatus} -eq 3 ] && exit 0
 [ ${exitstatus} -eq 4 ] && exec lazyman -F lazyide
 }
}
debug=
confmenu=
initplugs=
listnames=
menu="conf"
pluginit=
setconf=
toggle=
while getopts "adim:stu" flag; do
 case $flag in
 a)
 listnames=1
 ;;
 d)
 debug=1
 ;;
 i)
 initplugs=1
 ;;
 m)
 menu="${OPTARG}"
 if [ "${menu}" ]
 then
 case "${menu}" in
 conf*|Conf*)
 menu="confmenu"
 ;;
 plug*|Plug*)
 menu="plugmenu"
 ;;
 lsp*|Lsp*|LSP*)
 menu="lspmenu"
 ;;
 for*|For*|lint*|Lint*)
 menu="formenu"
 ;;
 *)
 menu="main"
 ;;
 esac
 else
 menu="confmenu"
 fi
 ;;
 s)
 setconf=1
 ;;
 t)
 toggle=1
 ;;
 u)
 usage
 ;;
 *)
 printf "\nUnrecognized option. Exiting.\n"
 usage
 ;;
 esac
done
shift $((OPTIND - 1))
set_haves
[ "${toggle}" ] && {
 [ "1ドル" ] || {
 printf "\nThe -t option requires a configuration name argument."
 usage
 }
 curval=$(get_conf_value "1ドル")
 case ${curval} in
 true)
 set_conf_value "1ドル" "false"
 ;;
 false)
 set_conf_value "1ドル" "true"
 ;;
 onno)
 set_conf_value "1ドル" "free"
 ;;
 free)
 set_conf_value "1ドル" "onno"
 ;;
 neo-tree)
 set_conf_value "1ドル" "nvim-tree"
 ;;
 nvim-tree)
 set_conf_value "1ドル" "neo-tree"
 ;;
 hop)
 set_conf_value "1ドル" "leap"
 ;;
 leap)
 set_conf_value "1ドル" "hop"
 ;;
 persistence)
 set_conf_value "1ドル" "possession"
 ;;
 possession)
 set_conf_value "1ドル" "persistence"
 ;;
 preview)
 set_conf_value "1ドル" "peek"
 ;;
 peek)
 set_conf_value "1ドル" "preview"
 ;;
 bubble)
 set_conf_value "1ドル" "arrow"
 ;;
 arrow)
 set_conf_value "1ドル" "bubble"
 ;;
 *)
 printf "\nUnrecognized configuration toggle: 1ドル\n"
 usage
 ;;
 esac
 [ "${initplugs}" ] || exit 0
}
[ "${listnames}" ] && {
 NVIM_APPNAME="nvim-Lazyman" nvim -l ${GET_CONF} list_names 2>&1
 exit 0
}
[ "${setconf}" ] && {
 [ "1ドル" ] || {
 printf "\nThe -s option requires configuration name and value arguments."
 usage
 }
 [ "2ドル" ] || {
 printf "\nThe -s option requires configuration name and value arguments."
 usage
 }
 table=
 [ "3ドル" ] && table="3ドル"
 if [ "1ドル" == "get" ]
 then
 get_conf_value "2ドル"
 exit 0
 else
 if [ "${table}" == "disable" ] || [ "${table}" == "enable" ]
 then
 upper=$(echo "1ドル" | tr '[:lower:]' '[:upper:]')
 set_conf_table "${upper}" "2ドル" "3ドル"
 else
 set_conf_value "1ドル" "2ドル"
 fi
 fi
 [ "${initplugs}" ] || exit 0
}
[ "${initplugs}" ] && {
 set_code_explain
 set_ranger_float
 set_waka_opt
 exit 0
}
# Source the Lazyman shell initialization for aliases and nvims selector
# shellcheck source=~/.config/nvim-Lazyman/.lazymanrc
[ -f ~/.config/nvim-Lazyman/.lazymanrc ] && source ~/.config/nvim-Lazyman/.lazymanrc
if [ "$menu" ]; then
 if [ "$menu" == "confmenu" ]; then
 show_conf_menu
 else
 if [ "$menu" == "plugmenu" ]; then
 show_plugin_menu
 else
 if [ "$menu" == "lspmenu" ]; then
 show_lsp_menu
 else
 if [ "$menu" == "formenu" ]; then
 show_formlint_menu
 else
 show_conf_menu
 fi
 fi
 fi
 fi
else
 show_conf_menu
fi
exit 0

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /