flesh/snippets/release/default_fleshrc.f
Ava Affine 13219e1d5f split release job into two
Signed-off-by: Ava Affine <ava@sunnypup.io>
2024-02-21 11:11:11 -08:00

65 lines
1.7 KiB
Forth

#!/usr/bin/env flesh
(set (q CFG_FLESH_POSIX) true)
(set (q CFG_FLESH_ENV) true)
(def snippets 'flesh conf snippets' (concat HOME "/.flesh/"))
(def _user_libraries 'flesh support libs'
((concat snippets '/userlib.f')
(concat snippets '/genbind.f')
(concat snippets '/interactive-devel.f')
;; add your own scripts here
))
(def loadlibs 'load all flesh libs'
(lambda ()
(let ((lib-iter (pop _user_libraries)))
(while (gt? (len lib-iter) 1)
(let ((lib (car lib-iter))
(next (cdr lib-iter)))
(call lib)
(def lib-iter '' (pop next)))))))
;(loadlibs)
(def user-paths 'custom path entries'
((concat HOME "/bin")
;; add more here
))
;; add path if not already included
;; only you can stop $PATH pollution
(map
(lambda (entry) (if (not (contains? (get-paths) entry))
(add-path entry)
()))
user-paths)
(def _fancy-cwd 'prints (up to) last three segments of current path'
()
(let ((cdir (load-to-string pwd))
(dir-segs (split cdir '/'))
(dir-iter (dq dir-segs))
(i 0))
(if (lte? (len dir-segs) 4)
cdir
(let ((final ""))
(while (lt? i 3)
(set (q final) (concat "/" (car dir-iter) final))
(set (q dir-iter) (dq (cdr dir-iter)))
(inc i))
(concat "..." final)))))
;; (def CFG_FLESH_CD_CB "directory based configs" ....... )
(def CFG_FLESH_L_PROMPT "left prompt" ()
(concat
"[" USER "]" "\t"
(_fancy-cwd)
"\n" ;; newline before delimiter
))
(def CFG_FLESH_R_PROMPT "right prompt" ()
(concat
"(" (load-to-string date "+%H:%M") ")" ))
(def CFG_FLESH_PROMPT_DELIMITER "delimiter" ()
" -> ")