feat(kitty): add kitty-logging resolver/inspection helpers
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Copyright (C) 2026 Rootiest
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
# SYNOPSIS
|
||||
# __kitty_logging_dir
|
||||
#
|
||||
# DESCRIPTION
|
||||
# Echoes the Kitty configuration directory, mirroring Kitty's own resolution
|
||||
# order: $KITTY_CONFIG_DIRECTORY, else $XDG_CONFIG_HOME/kitty, else
|
||||
# ~/.config/kitty.
|
||||
#
|
||||
# RETURNS
|
||||
# 0 Always (path printed to stdout)
|
||||
#
|
||||
# EXAMPLE
|
||||
# set -l dir (__kitty_logging_dir)
|
||||
function __kitty_logging_dir --description 'Resolve the Kitty config directory'
|
||||
if set -q KITTY_CONFIG_DIRECTORY; and test -n "$KITTY_CONFIG_DIRECTORY"
|
||||
echo $KITTY_CONFIG_DIRECTORY
|
||||
else if set -q XDG_CONFIG_HOME; and test -n "$XDG_CONFIG_HOME"
|
||||
echo $XDG_CONFIG_HOME/kitty
|
||||
else
|
||||
echo $HOME/.config/kitty
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,22 @@
|
||||
# Copyright (C) 2026 Rootiest
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
# SYNOPSIS
|
||||
# __kitty_logging_has_watcher
|
||||
#
|
||||
# DESCRIPTION
|
||||
# Succeeds (returns 0) when the top-level kitty.conf contains an active
|
||||
# (non-commented) `watcher` directive — whether the fish-config managed one or
|
||||
# a user's own. Used to suppress the setup reminder and to inform status.
|
||||
#
|
||||
# RETURNS
|
||||
# 0 An active watcher directive is present
|
||||
# 1 None present, or kitty.conf does not exist
|
||||
#
|
||||
# EXAMPLE
|
||||
# __kitty_logging_has_watcher; and echo "already wired"
|
||||
function __kitty_logging_has_watcher --description 'True if kitty.conf has an active watcher directive'
|
||||
set -l conf (__kitty_logging_dir)/kitty.conf
|
||||
test -f $conf; or return 1
|
||||
command grep -qE '^[[:space:]]*watcher[[:space:]]' $conf
|
||||
end
|
||||
@@ -0,0 +1,30 @@
|
||||
# Copyright (C) 2026 Rootiest
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
# SYNOPSIS
|
||||
# __kitty_logging_version <file>
|
||||
#
|
||||
# DESCRIPTION
|
||||
# Prints the integer value of the "fish-config-watcher-version:" marker in the
|
||||
# given watcher file, or 0 if the file is missing or has no marker.
|
||||
#
|
||||
# ARGUMENTS
|
||||
# file Path to a watcher script
|
||||
#
|
||||
# RETURNS
|
||||
# 0 Always (integer printed to stdout)
|
||||
#
|
||||
# EXAMPLE
|
||||
# __kitty_logging_version ~/.config/kitty/fish-config-watcher.py
|
||||
function __kitty_logging_version --argument-names file --description 'Read the watcher version marker (0 if absent)'
|
||||
if not test -f "$file"
|
||||
echo 0
|
||||
return 0
|
||||
end
|
||||
set -l v (string match -gr 'fish-config-watcher-version: *([0-9]+)' <$file)
|
||||
if set -q v[1]; and test -n "$v[1]"
|
||||
echo $v[1]
|
||||
else
|
||||
echo 0
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user