fix(kernel): Definitive quote stripping and env detection
Some checks failed
Deploy-Agent-V15-Stdin / JOB-V15-STDIN (push) Failing after 3s
Some checks failed
Deploy-Agent-V15-Stdin / JOB-V15-STDIN (push) Failing after 3s
This commit is contained in:
@@ -179,8 +179,18 @@ A utility function that expands environment variables (like ~$HOME~ or ~$MEMEX_R
|
||||
|
||||
#+begin_src lisp :tangle ../src/context.lisp
|
||||
(defun context-resolve-path (path-string)
|
||||
"Expands all environment variables ($VAR) within a path string."
|
||||
(if (and (stringp path-string) (search "$" path-string))
|
||||
"Expands environment variables and strips literal quotes from a path string."
|
||||
(let ((path (if (stringp path-string)
|
||||
(string-trim '(#\" #\' #\Space) path-string)
|
||||
path-string)))
|
||||
(if (and (stringp path) (search "$" path))
|
||||
(let ((result path))
|
||||
(ppcre:do-register-groups (var-name) ("\\$([A-Za-z0-9_]+)" path)
|
||||
(let ((var-val (uiop:getenv var-name)))
|
||||
(when var-val
|
||||
(setf result (ppcre:regex-replace (format nil "\\$~a" var-name) result var-val)))))
|
||||
result)
|
||||
path)))
|
||||
(let ((result path-string))
|
||||
(ppcre:do-register-groups (var-name) ("\\$([A-Za-z0-9_]+)" path-string)
|
||||
(let ((var-val (uiop:getenv var-name)))
|
||||
|
||||
Reference in New Issue
Block a user