changeset 50: | e62a6a0d5997 |
parent: | 61482ce290f9 |
child: | ee94191a3fb0 |
author: | ellis <ellis@rwest.io> |
date: | Fri, 24 Nov 2023 00:04:43 -0500 |
permissions: | -rw-r--r-- |
description: | organ/lexer, ulang support, gui and web stuff |
18 | 1 | ;;; skel.lisp --- skeleton library |
2 | ||
3 | ;; A hacker's project compiler. |
|
4 | ||
5 | ;;; Commentary: |
|
6 | ||
7 | ;;; Code: |
|
8 | (eval-when (:compile-toplevel :load-toplevel :execute) |
|
9 | (require 'sb-posix)) |
|
10 | ||
11 | (uiop:define-package :skel/pkg |
|
50
e62a6a0d5997
organ/lexer, ulang support, gui and web stuff
ellis <ellis@rwest.io>
parents:
18
diff
changeset
|
12 | (:nicknames :skel) |
18 | 13 | (:use :cl :std :sb-mop :cl-ppcre) |
14 | (:import-from :sb-posix :getcwd :getuid) |
|
15 | (:import-from :sb-unix :uid-username) |
|
16 | (:import-from :uiop :ensure-absolute-pathname) |
|
17 | (:shadowing-import-from :uiop :pathname-parent-directory-pathname :read-file-forms) |
|
18 | (:export |
|
19 | ;; cfg |
|
20 | :*skel-project* :*skel-user-config* :*default-skelrc* :*skel-project-registry* |
|
21 | :*default-skelfile* :*default-skel-user* :*default-skel-cache* :*default-user-skel-config* |
|
22 | :*default-system-skel-config* :*skelfile-extension* :*skelfile-boundary* |
|
23 | ;; proto |
|
24 | :sk-run |
|
25 | :sk-new |
|
26 | :sk-save |
|
27 | :sk-tangle |
|
28 | :sk-weave |
|
29 | :sk-call |
|
30 | :sk-print |
|
31 | :sk-load |
|
32 | :sk-compile |
|
33 | :rehash-object |
|
34 | :sk-transform |
|
35 | :sk-read-file |
|
36 | :sk-write |
|
37 | :sk-writeln |
|
38 | :sk-write-string |
|
39 | :sk-write-file |
|
40 | :sk-read-file |
|
41 | :sk-install-user-config |
|
42 | ;; obj |
|
43 | :skel :sk-meta :def-sk-class :sk-project :sk-target :sk-source |
|
44 | :sk-rule :sk-rule-target :sk-rule-source :sk-rule-recipe :make-sk-rule |
|
45 | :sk-description :sk-kind :sk-rules :sk-id :sk-version :sk-name :sk-documents :sk-document |
|
46 | :sk-command :sk-scripts :sk-script :sk-config :sk-snippets :sk-snippet :sk-abbrevs :sk-abbrev |
|
47 | ;; accesors |
|
48 | :sk-vc |
|
49 | ;; header |
|
50 | :make-file-header :make-shebang-file-header :make-source-file-header :file-header-kind |
|
51 | :make-source-header-comment :make-shebang-comment |
|
52 | ;; utils |
|
53 | :init-skelfile :init-skelrc :load-skelrc :find-skelfile :load-skelfile |
|
54 | :describe-skeleton :describe-project :init-skel-user-config |
|
55 | ;; vm |
|
56 | :make-stack-slot :make-sk-vm :sks-ref :sks-pop :sks-push)) |
|
57 | ||
58 | (in-package :skel/pkg) |
|
59 | (defvar *skel-version* "0.1.0") |
|
60 | (provide :skel) |