diff --git a/graphics/core.lua b/graphics/core.lua
index 510e31d..98c8ed5 100644
--- a/graphics/core.lua
+++ b/graphics/core.lua
@@ -16,6 +16,7 @@ local events = {}
---@field y integer
-- create a new touch event definition
+---@nodiscard
---@param monitor string
---@param x integer
---@param y integer
@@ -32,7 +33,7 @@ core.events = events
local graphics = {}
----@alias TEXT_ALIGN integer
+---@enum TEXT_ALIGN
graphics.TEXT_ALIGN = {
LEFT = 1,
CENTER = 2,
@@ -47,6 +48,7 @@ graphics.TEXT_ALIGN = {
---@alias element_id string|integer
-- create a new border definition
+---@nodiscard
---@param width integer border width
---@param color color border color
---@param even? boolean whether to pad width extra to account for rectangular pixels, defaults to false
@@ -66,6 +68,7 @@ end
---@field h integer
-- create a new graphics frame definition
+---@nodiscard
---@param x integer
---@param y integer
---@param w integer
@@ -91,6 +94,7 @@ end
---@field blit_bkg string
-- create a new color pair definition
+---@nodiscard
---@param a color
---@param b color
---@return cpair
@@ -120,9 +124,9 @@ end
---@field thin boolean true for 1 subpixel, false (default) for 2
---@field align_tr boolean false to align bottom left (default), true to align top right
--- create a new pipe
---
+-- create a new pipe
-- note: pipe coordinate origin is (0, 0)
+---@nodiscard
---@param x1 integer starting x, origin is 0
---@param y1 integer starting y, origin is 0
---@param x2 integer ending x, origin is 0
diff --git a/graphics/element.lua b/graphics/element.lua
index 5f32060..8aa3ce9 100644
--- a/graphics/element.lua
+++ b/graphics/element.lua
@@ -47,6 +47,7 @@ local element = {}
---|tiling_args
-- a base graphics element, should not be created on its own
+---@nodiscard
---@param args graphics_args arguments
function element.new(args)
local self = {
@@ -172,6 +173,7 @@ function element.new(args)
end
-- get value
+ ---@nodiscard
function protected.get_value()
return protected.value
end
@@ -218,6 +220,7 @@ function element.new(args)
end
-- get public interface
+ ---@nodiscard
---@return graphics_element element, element_id id
function protected.get() return public, self.id end
@@ -246,11 +249,13 @@ function element.new(args)
----------------------
-- get the window object
+ ---@nodiscard
function public.window() return protected.window end
-- CHILD ELEMENTS --
-- add a child element
+ ---@nodiscard
---@param key string|nil id
---@param child graphics_template
---@return integer|string key
@@ -271,6 +276,7 @@ function element.new(args)
end
-- get a child element
+ ---@nodiscard
---@return graphics_element
function public.get_child(key) return self.children[key] end
@@ -279,6 +285,7 @@ function element.new(args)
function public.remove(key) self.children[key] = nil end
-- attempt to get a child element by ID (does not include this element itself)
+ ---@nodiscard
---@param id element_id
---@return graphics_element|nil element
function public.get_element_by_id(id)
@@ -297,39 +304,49 @@ function element.new(args)
-- AUTO-PLACEMENT --
-- skip a line for automatically placed elements
- function public.line_break() self.next_y = self.next_y + 1 end
+ function public.line_break()
+ self.next_y = self.next_y + 1
+ end
-- PROPERTIES --
-- get the foreground/background colors
+ ---@nodiscard
---@return cpair fg_bg
- function public.get_fg_bg() return protected.fg_bg end
+ function public.get_fg_bg()
+ return protected.fg_bg
+ end
-- get element x
+ ---@nodiscard
---@return integer x
function public.get_x()
return protected.frame.x
end
-- get element y
+ ---@nodiscard
---@return integer y
function public.get_y()
return protected.frame.y
end
-- get element width
+ ---@nodiscard
---@return integer width
function public.width()
return protected.frame.w
end
-- get element height
+ ---@nodiscard
---@return integer height
function public.height()
return protected.frame.h
end
-- get the element value
+ ---@nodiscard
---@return any value
function public.get_value()
return protected.get_value()
diff --git a/graphics/elements/displaybox.lua b/graphics/elements/displaybox.lua
index 0d7fd47..c7e5c9f 100644
--- a/graphics/elements/displaybox.lua
+++ b/graphics/elements/displaybox.lua
@@ -12,6 +12,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new root display box
+---@nodiscard
---@param args displaybox_args
local function displaybox(args)
-- create new graphics element base object
diff --git a/graphics/elements/div.lua b/graphics/elements/div.lua
index 59e3a1e..5eeef71 100644
--- a/graphics/elements/div.lua
+++ b/graphics/elements/div.lua
@@ -13,6 +13,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new div element
+---@nodiscard
---@param args div_args
---@return graphics_element element, element_id id
local function div(args)
diff --git a/graphics/elements/indicators/alight.lua b/graphics/elements/indicators/alight.lua
index eea103a..8bb8fa6 100644
--- a/graphics/elements/indicators/alight.lua
+++ b/graphics/elements/indicators/alight.lua
@@ -20,6 +20,7 @@ local flasher = require("graphics.flasher")
---@field fg_bg? cpair foreground/background colors
-- new alarm indicator light
+---@nodiscard
---@param args alarm_indicator_light
---@return graphics_element element, element_id id
local function alarm_indicator_light(args)
diff --git a/graphics/elements/indicators/coremap.lua b/graphics/elements/indicators/coremap.lua
index 0ca72e1..c50348b 100644
--- a/graphics/elements/indicators/coremap.lua
+++ b/graphics/elements/indicators/coremap.lua
@@ -14,6 +14,7 @@ local element = require("graphics.element")
---@field y? integer 1 if omitted
-- new core map box
+---@nodiscard
---@param args core_map_args
---@return graphics_element element, element_id id
local function core_map(args)
diff --git a/graphics/elements/indicators/data.lua b/graphics/elements/indicators/data.lua
index d19fab0..66d45dc 100644
--- a/graphics/elements/indicators/data.lua
+++ b/graphics/elements/indicators/data.lua
@@ -19,6 +19,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new data indicator
+---@nodiscard
---@param args data_indicator_args
---@return graphics_element element, element_id id
local function data(args)
diff --git a/graphics/elements/indicators/hbar.lua b/graphics/elements/indicators/hbar.lua
index a05cdb6..2d9b110 100644
--- a/graphics/elements/indicators/hbar.lua
+++ b/graphics/elements/indicators/hbar.lua
@@ -17,6 +17,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new horizontal bar
+---@nodiscard
---@param args hbar_args
---@return graphics_element element, element_id id
local function hbar(args)
diff --git a/graphics/elements/indicators/icon.lua b/graphics/elements/indicators/icon.lua
index 0c71d29..f31479d 100644
--- a/graphics/elements/indicators/icon.lua
+++ b/graphics/elements/indicators/icon.lua
@@ -20,6 +20,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new icon indicator
+---@nodiscard
---@param args icon_indicator_args
---@return graphics_element element, element_id id
local function icon(args)
diff --git a/graphics/elements/indicators/light.lua b/graphics/elements/indicators/light.lua
index 3695553..e764ad9 100644
--- a/graphics/elements/indicators/light.lua
+++ b/graphics/elements/indicators/light.lua
@@ -18,6 +18,7 @@ local flasher = require("graphics.flasher")
---@field fg_bg? cpair foreground/background colors
-- new indicator light
+---@nodiscard
---@param args indicator_light_args
---@return graphics_element element, element_id id
local function indicator_light(args)
diff --git a/graphics/elements/indicators/power.lua b/graphics/elements/indicators/power.lua
index e76f690..1d727ae 100644
--- a/graphics/elements/indicators/power.lua
+++ b/graphics/elements/indicators/power.lua
@@ -18,6 +18,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new power indicator
+---@nodiscard
---@param args power_indicator_args
---@return graphics_element element, element_id id
local function power(args)
diff --git a/graphics/elements/indicators/rad.lua b/graphics/elements/indicators/rad.lua
index 86ec856..2e4ad56 100644
--- a/graphics/elements/indicators/rad.lua
+++ b/graphics/elements/indicators/rad.lua
@@ -19,6 +19,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new radiation indicator
+---@nodiscard
---@param args rad_indicator_args
---@return graphics_element element, element_id id
local function rad(args)
diff --git a/graphics/elements/indicators/state.lua b/graphics/elements/indicators/state.lua
index 386910c..10d081b 100644
--- a/graphics/elements/indicators/state.lua
+++ b/graphics/elements/indicators/state.lua
@@ -20,6 +20,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new state indicator
+---@nodiscard
---@param args state_indicator_args
---@return graphics_element element, element_id id
local function state_indicator(args)
diff --git a/graphics/elements/indicators/trilight.lua b/graphics/elements/indicators/trilight.lua
index 2c61fb7..543ebf5 100644
--- a/graphics/elements/indicators/trilight.lua
+++ b/graphics/elements/indicators/trilight.lua
@@ -20,6 +20,7 @@ local flasher = require("graphics.flasher")
---@field fg_bg? cpair foreground/background colors
-- new tri-state indicator light
+---@nodiscard
---@param args tristate_indicator_light_args
---@return graphics_element element, element_id id
local function tristate_indicator_light(args)
diff --git a/graphics/elements/indicators/vbar.lua b/graphics/elements/indicators/vbar.lua
index be7d9e4..fe7f9bc 100644
--- a/graphics/elements/indicators/vbar.lua
+++ b/graphics/elements/indicators/vbar.lua
@@ -15,6 +15,7 @@ local element = require("graphics.element")
---@field fg_bg? cpair foreground/background colors
-- new vertical bar
+---@nodiscard
---@param args vbar_args
---@return graphics_element element, element_id id
local function vbar(args)
diff --git a/graphics/elements/rectangle.lua b/graphics/elements/rectangle.lua
index 09c20da..6422cbc 100644
--- a/graphics/elements/rectangle.lua
+++ b/graphics/elements/rectangle.lua
@@ -144,7 +144,7 @@ local function rectangle(args)
e.window.blit(spaces, blit_fg, blit_bg_top_bot)
end
else
- if (args.thin == true) then
+ if args.thin == true then
e.window.blit(p_s, blit_fg_sides, blit_bg_sides)
else
e.window.blit(p_s, blit_fg, blit_bg_sides)
diff --git a/graphics/elements/tiling.lua b/graphics/elements/tiling.lua
index 86af96d..a97438a 100644
--- a/graphics/elements/tiling.lua
+++ b/graphics/elements/tiling.lua
@@ -60,7 +60,7 @@ local function tiling(args)
-- create pattern
for y = start_y, inner_height + (start_y - 1) do
e.window.setCursorPos(start_x, y)
- for x = 1, inner_width do
+ for _ = 1, inner_width do
if alternator then
if even then
e.window.blit(" ", "00", fill_a .. fill_a)
diff --git a/graphics/flasher.lua b/graphics/flasher.lua
index b5eed69..0a3d9ea 100644
--- a/graphics/flasher.lua
+++ b/graphics/flasher.lua
@@ -21,8 +21,7 @@ local active = false
local registry = { {}, {}, {} } -- one registry table per period
local callback_counter = 0
--- blink registered indicators
---
+-- blink registered indicators
-- this assumes it is called every 250ms, it does no checking of time on its own
local function callback_250ms()
if active then
@@ -55,8 +54,7 @@ function flasher.clear()
registry = { {}, {}, {} }
end
--- register a function to be called on the selected blink period
---
+-- register a function to be called on the selected blink period
-- times are not strictly enforced, but all with a given period will be set at the same time
---@param f function function to call each period
---@param period PERIOD time period option (1, 2, or 3)