-
-
Notifications
You must be signed in to change notification settings - Fork 17
webdev_config
Ronald Record edited this page Sep 8, 2023
·
6 revisions
The webdev_config.sh script is installed in ~/.config/nvim-Lazyman/scripts/.
This script is used to display the nvim-Webdev configuration sub-menus in lazyman.
The source code for the webdev_config.sh script:
#!/usr/bin/env bash # # webdev_config - configure the Webdev Neovim configurations # # Written by Ronald Record <ronaldrecord@gmail.com>, Summer 2023 # # shellcheck disable=SC1090,SC2001,SC2002,SC2016,SC2006,SC2086,SC2181,SC2129,SC2059,SC2076 LAZYMAN="nvim-Lazyman" LMANDIR="${HOME}/.config/${LAZYMAN}" WEBDEV="nvim-Webdev" WDEVDIR="${HOME}/.config/${WEBDEV}" NVIMCONF="${WDEVDIR}/lua/configuration.lua" CONFBACK="${WDEVDIR}/lua/configuration-orig.lua" GET_CONF="${LMANDIR}/scripts/get_conf.lua" 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") lsp_enabled_table=() for_enabled_table=() neorg_notes_table=() usage() { printf "\nUsage: webdev_config [-d] [-i] [-u]" printf "\nWhere:" printf "\n -d specifies debug mode" printf "\n -i indicates initialize conditional plugin configurations and exit" printf "\n -u displays this usage message and exits" 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="Webdev" 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 } get_conf_value() { confname="1ドル" confval=$(NVIM_APPNAME="nvim-Webdev" 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_waka_opt() { waka="false" [ -f "${HOME}"/.wakatime.cfg ] && { grep api_key "${HOME}"/.wakatime.cfg >/dev/null && waka="true" } set_conf_value "enable_wakatime" "${waka}" } 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= [ "$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}") } [ -f ${HOME}/.config/nvim-LazyIde/lua/configuration.lua ] && { options+=("LazyIde Menu") } options+=("Lazyman Config") 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 ;; "Lazyman Config"*,* | *,"Lazyman Config"* | "c",* | *,"c") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exec lazyman -F conf ;; "LazyIde Menu"*,* | *,"LazyIde Menu"* | "l",* | *,"l") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exit 4 ;; "Configuration Menu"*,* | *,"Configuration Menu"* | "c",* | *,"c") confmenu=1 break 2 ;; "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exit 2 ;; "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q") [ "${pluginit}" ] && lazyman -N nvim-Webdev init printf "\nExiting Webdev Configuration Menu System\n\n" exit 3 ;; esac REPLY= done done [ "${confmenu}" ] && show_conf_menu 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= [ "$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}") } [ -f ${HOME}/.config/nvim-LazyIde/lua/configuration.lua ] && { options+=("LazyIde Menu") } options+=("Lazyman Config") 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 ;; "Lazyman Config"*,* | *,"Lazyman Config"* | "c",* | *,"c") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exec lazyman -F conf ;; "LazyIde Menu"*,* | *,"LazyIde Menu"* | "l",* | *,"l") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exit 4 ;; "Configuration Menu"*,* | *,"Configuration Menu"* | "c",* | *,"c") confmenu=1 break 2 ;; "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exit 2 ;; "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q") [ "${pluginit}" ] && lazyman -N nvim-Webdev init printf "\nExiting Webdev Configuration Menu System\n\n" exit 3 ;; esac REPLY= done done fi [ "${confmenu}" ] && show_conf_menu } show_conf_menu() { set_haves while true; do [ -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 Webdev" prompt_continue exit 2 } [ "$debug" ] || tput reset if [ "${have_rich}" ]; then rich "[b cyan]Webdev Configuration Menu[/]" -p -a rounded -c -C rich "[b green]Manage the Neovim configuration in[/] [b yellow]~/.config/nvim-Webdev[/]" -p -c else [ "${have_figlet}" ] && show_figlet "Config" fi printf '\n' 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 enable_codeium=$(get_conf_value enable_codeium) if [ "${enable_codeium}" == "true" ]; then use_codeium="" else use_codeium="✗" 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_global_statusline=$(get_conf_value global_statusline) if [ "${enable_global_statusline}" == "true" ]; then use_global_statusline="" else use_global_statusline="✗" fi enable_dashboard_header=$(get_conf_value enable_dashboard_header) if [ "${enable_dashboard_header}" == "true" ]; then use_dashboard_header="" else use_dashboard_header="✗" fi enable_terminal=$(get_conf_value enable_terminal) if [ "${enable_terminal}" == "true" ]; then use_terminal="" else use_terminal="✗" fi enable_wakatime=$(get_conf_value enable_wakatime) if [ "${enable_wakatime}" == "true" ]; then use_wakatime="" else use_wakatime="✗" fi enable_smooth_scrolling=$(get_conf_value enable_smooth_scrolling) if [ "${enable_smooth_scrolling}" == "true" ]; then use_smooth_scrolling="" else use_smooth_scrolling="✗" 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_tabline) if [ "${enable_tabline}" == "true" ]; then use_tabline="" else use_tabline="✗" fi show_diagnostics=$(get_conf_value show_diagnostics) use_show_diagnostics="${show_diagnostics}" enable_zenmode=$(get_conf_value enable_zenmode) if [ "${enable_zenmode}" == "true" ]; then use_zenmode="" else use_zenmode="✗" fi PS3="${BOLD}${PLEASE} (numeric or text, 'h' for help): ${NORM}" options=() 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+=("Codeium [${use_codeium}]") 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+=("Global Status [${use_global_statusline}]") options+=("Status Line [${use_statusline}]") options+=("Tab Line [${use_tabline}]") options+=(" Showtabline [${use_showtabline}]") options+=("Alpha Header [${use_dashboard_header}]") options+=("Smooth Scroll [${use_smooth_scrolling}]") options+=("Terminal [${use_terminal}]") options+=("WakaTime [${use_wakatime}]") options+=("Zen Mode [${use_zenmode}]") options+=("Disable All") options+=("Enable All") [ -f ${CONFBACK} ] && { diff ${CONFBACK} ${NVIMCONF} >/dev/null || options+=("Reset to Defaults") } [ -d "${WDEVDIR}" ] && options+=("Open Webdev") [ -f ${HOME}/.config/nvim-LazyIde/lua/configuration.lua ] && { options+=("LazyIde Menu") } options+=("Lazyman 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 ;; "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 ;; "Tab Line"*,* | *,"Tab Line"*) if [ "${enable_tabline}" == "true" ]; then set_conf_value "enable_tabline" "false" else set_conf_value "enable_tabline" "true" fi pluginit=1 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 ;; "Codeium"*,* | *,"Codeium"*) if [ "${enable_codeium}" == "true" ]; then set_conf_value "enable_codeium" "false" else set_conf_value "enable_codeium" "true" 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 ;; " Showtabline"*,* | *," Showtabline"*) 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 ;; "Terminal"*,* | *,"Terminal"*) if [ "${enable_terminal}" == "true" ]; then set_conf_value "enable_terminal" "false" else set_conf_value "enable_terminal" "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 ;; "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 ;; "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 ;; "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 ;; "Disable All"*,* | *,"Disable All"*) set_conf_value "number" "false" set_conf_value "relative_number" "false" set_conf_value "global_statusline" "false" set_conf_value "enable_statusline" "false" set_conf_value "enable_tabline" "false" set_conf_value "enable_dashboard_header" "false" set_conf_value "enable_terminal" "false" set_conf_value "enable_wakatime" "false" set_conf_value "enable_smooth_scrolling" "false" set_conf_value "enable_zenmode" "false" set_conf_value "showtabline" "0" set_conf_value "enable_transparent" "false" set_conf_value "show_diagnostics" "none" 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 "global_statusline" "true" set_conf_value "enable_statusline" "true" set_conf_value "enable_tabline" "true" set_conf_value "showtabline" "2" set_conf_value "enable_transparent" "true" set_conf_value "show_diagnostics" "popup" set_conf_value "list" "true" set_conf_value "enable_dashboard_header" "true" set_conf_value "enable_terminal" "true" set_conf_value "enable_wakatime" "true" set_conf_value "enable_smooth_scrolling" "true" pluginit=1 break ;; "Reset"*,* | *,"Reset"*) [ -f ${CONFBACK} ] && { cp ${CONFBACK} ${NVIMCONF} set_waka_opt pluginit=1 } break ;; "Open Webdev",* | *,"Open Webdev" | "o",* | *,"o") if [ "${USEGUI}" ]; then NVIM_APPNAME="nvim-Webdev" neovide else NVIM_APPNAME="nvim-Webdev" nvim fi break ;; "Lazyman Config"*,* | *,"Lazyman Config"* | "c",* | *,"c") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exec lazyman -F conf ;; "LazyIde Menu"*,* | *,"LazyIde Menu"* | "l",* | *,"l") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exit 4 ;; "Main Menu"*,* | *,"Main Menu"* | "m",* | *,"m") [ "${pluginit}" ] && lazyman -N nvim-Webdev init exit 2 ;; "Quit"*,* | *,"Quit"* | "quit"*,* | *,"quit"* | "q",* | *,"q") [ "${pluginit}" ] && lazyman -N nvim-Webdev init printf "\nExiting Webdev 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 } debug= darg= confmenu= initplugs= menu="confmenu" pluginit= # TODO: configure options while getopts "diu" flag; do case $flag in d) debug=1 darg="-d" ;; i) initplugs=1 ;; u) usage ;; *) printf "\nUnrecognized option. Exiting.\n" usage ;; esac done shift $((OPTIND - 1)) set_haves [ "${initplugs}" ] && { 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 show_conf_menu exit 0