From 35a8d0eaa4f59478027201aacbf987fca7e4b7fb Mon Sep 17 00:00:00 2001 From: Nathan J Helmig <62121934+nhlmg93@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:02:46 -0500 Subject: [PATCH] feat: adds some friendly tips (#315) Co-authored-by: Nathan Helmig --- CHANGELOG.md | 5 +++++ nature/opts/init.lua | 3 ++- nature/opts/tips.lua | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 nature/opts/tips.lua diff --git a/CHANGELOG.md b/CHANGELOG.md index f0f00a0..f130876 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # 🎀 Changelog +## Unreleased +### Added +- `nature.opts.tips` was added to randomly generate tips on start up. +Follows the pattern of motd and greeting. Displays after greeting on start up. + ## [2.3.0] - 2024-07-20 ### Added - `commander.registry` function to get all registered commanders. diff --git a/nature/opts/init.lua b/nature/opts/init.lua index 474ea3b..d55864f 100644 --- a/nature/opts/init.lua +++ b/nature/opts/init.lua @@ -14,7 +14,8 @@ The nice lil shell for {blue}Lua{reset} fanatics! motd = true, fuzzy = false, notifyJobFinish = true, - crimmas = true + crimmas = true, + tips = true } for optsName, default in pairs(defaultOpts) do diff --git a/nature/opts/tips.lua b/nature/opts/tips.lua new file mode 100644 index 0000000..d25e105 --- /dev/null +++ b/nature/opts/tips.lua @@ -0,0 +1,34 @@ +local bait = require 'bait' +local lunacolors = require 'lunacolors' + +PREAMBLE = [[ +Getting Started: https://rosettea.github.io/Hilbish/docs/getting-started/ +{yellow}🛈 These tips can be disabled with hilbish.opts.tips = false{reset} +]] + +hilbish.tips = { + "Join the discord and say hi! -> https://discord.gg/3PDdcQz", + "{green}hilbish.alias{reset} -> Sets an alias to another cmd", + "{green}hilbish.appendPath{reset} -> Appends the provided dir to the command path ($PATH)", + "{green}hilbish.completions{reset} -> Are use to control suggestions when tab completing.", + "{green}hilbish.message{reset} -> Simple notification system which can be used by other plugins and parts of the shell to notify the user of various actions.", + [[ + {green}hilbish.opts{reset} -> Simple toggle or value options a user can set. + - EX: hilbish.opts.greeting = false, will cause the greeting message on start-up to not display. + ]], + [[ + {green}hilbish.runner{reset} -> The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. + - The default runners can run shell script and Lua code. + ]], + [[ + Add Lua-written commands with the commander module! + Checkout the docs here -> https://rosettea.github.io/Hilbish/docs/api/commander/ + ]] +} + +bait.catch('hilbish.init', function() + if hilbish.interactive and hilbish.opts.tip then + local idx = math.random(1, #hilbish.tips) + print(lunacolors.format(PREAMBLE .. "\nTip: " .. hilbish.tips[idx])) + end +end)