Merge _configs/ into config/ for single configuration directory. Update all path references. Changes: - Move _configs/* to config/ - Update .gitignore for new patterns - No code references to _configs/ found Impact: -1 root directory (layout_conventions.md compliance)
72 lines
1.8 KiB
Plaintext
72 lines
1.8 KiB
Plaintext
#!/usr/bin/env nu
|
|
|
|
# Common config file finder for syntaxis scripts
|
|
#
|
|
# Finds configuration files in standard locations.
|
|
#
|
|
# SEARCH ORDER (uses first found):
|
|
# 1. .syntaxis/{filename} - syntaxis specific config
|
|
# 2. .project/{filename} - Generic project config
|
|
# 3. .coder/{filename} - Documentation tracking config
|
|
# 4. {filename} - Current directory fallback
|
|
#
|
|
# EXAMPLES:
|
|
# # Find config file
|
|
# let config = (find-config "workspace.toml")
|
|
#
|
|
# # Find with default
|
|
# let config = (find-config-or "config.toml" "workspace.toml")
|
|
#
|
|
# # Find database file
|
|
# let db_path = (find-db-path "workspace.db")
|
|
|
|
# Find config file in standard locations
|
|
# Returns first existing path, or empty string if not found
|
|
export def find-config [filename: string]: nothing -> string {
|
|
let candidates = [
|
|
$".syntaxis/($filename)"
|
|
$".project/($filename)"
|
|
$".coder/($filename)"
|
|
$filename
|
|
]
|
|
|
|
let found = ($candidates | where { $in | path exists } | first)
|
|
|
|
if ($found | is-empty) {
|
|
""
|
|
} else {
|
|
$found
|
|
}
|
|
}
|
|
|
|
# Find config file or return default
|
|
# Returns first existing path, or default if none found
|
|
export def find-config-or [filename: string, default: string]: nothing -> string {
|
|
let result = (find-config $filename)
|
|
|
|
if ($result | is-empty) {
|
|
$default
|
|
} else {
|
|
$result
|
|
}
|
|
}
|
|
|
|
# Find database file in standard locations
|
|
# Returns first existing DB, or defaults to .syntaxis/ if none exist
|
|
export def find-db-path [filename: string]: nothing -> string {
|
|
let config_path = (find-config $filename)
|
|
|
|
if ($config_path | is-empty) {
|
|
$".syntaxis/($filename)"
|
|
} else {
|
|
$config_path
|
|
}
|
|
}
|
|
|
|
# Tests
|
|
#[test]
|
|
def test-find-config [] {
|
|
# This would need tempdir support - skipped in basic version
|
|
true
|
|
}
|