diff options
| author | 2025-10-18 07:16:59 +0300 | |
|---|---|---|
| committer | 2025-10-18 07:16:59 +0300 | |
| commit | 797bc62a9b31ab7d063ced4d3285fde1c50fea05 (patch) | |
| tree | af99a67fbb5178f75d009dd4375291ca26f3b829 /src/tg/type-macros.lisp | |
| parent | Remove SWANK dependencies from ocicl.csv (diff) | |
| download | ukkoclot-797bc62a9b31ab7d063ced4d3285fde1c50fea05.tar.gz ukkoclot-797bc62a9b31ab7d063ced4d3285fde1c50fea05.tar.xz ukkoclot-797bc62a9b31ab7d063ced4d3285fde1c50fea05.zip | |
Add com.dieggsy.f-string, replace simple formats with #f"strings"
Diffstat (limited to 'src/tg/type-macros.lisp')
| -rw-r--r-- | src/tg/type-macros.lisp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tg/type-macros.lisp b/src/tg/type-macros.lisp index b9d649c..390781f 100644 --- a/src/tg/type-macros.lisp +++ b/src/tg/type-macros.lisp | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;; SPDX-License-Identifier: EUPL-1.2 | 1 | ;; SPDX-License-Identifier: EUPL-1.2 |
| 2 | ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com> | 2 | ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com> |
| 3 | (defpackage :ukkoclot/tg/type-macros | 3 | (defpackage :ukkoclot/tg/type-macros |
| 4 | (:documentation "Macros for easy defining TG types.") | ||
| 4 | (:use :c2cl :iterate) | 5 | (:use :c2cl :iterate) |
| 6 | (:import-from :com.dieggsy.f-string :enable-f-strings) | ||
| 5 | (:import-from :ukkoclot/serializing :parse-value) | 7 | (:import-from :ukkoclot/serializing :parse-value) |
| 6 | (:import-from :ukkoclot/hash-tables :gethash-lazy) | 8 | (:import-from :ukkoclot/hash-tables :gethash-lazy) |
| 7 | (:import-from :ukkoclot/strings :lisp->snake-case) | 9 | (:import-from :ukkoclot/strings :lisp->snake-case) |
| @@ -10,6 +12,8 @@ | |||
| 10 | (:export :define-tg-type)) | 12 | (:export :define-tg-type)) |
| 11 | (in-package :ukkoclot/tg/type-macros) | 13 | (in-package :ukkoclot/tg/type-macros) |
| 12 | 14 | ||
| 15 | (enable-f-strings) | ||
| 16 | |||
| 13 | (eval-when (:compile-toplevel :load-toplevel :execute) | 17 | (eval-when (:compile-toplevel :load-toplevel :execute) |
| 14 | (defstruct (field (:constructor make-field%)) name type default skip-if-default) | 18 | (defstruct (field (:constructor make-field%)) name type default skip-if-default) |
| 15 | 19 | ||
| @@ -20,7 +24,7 @@ | |||
| 20 | &optional (default +unique+) | 24 | &optional (default +unique+) |
| 21 | &key (skip-if-default (not (eq default +unique+)))) | 25 | &key (skip-if-default (not (eq default +unique+)))) |
| 22 | (let ((default (if (eq default +unique+) | 26 | (let ((default (if (eq default +unique+) |
| 23 | `(error ,(format nil "No value given for ~A" name)) | 27 | `(error ,#f"No value given for {name}") |
| 24 | default))) | 28 | default))) |
| 25 | (make-field% :name name | 29 | (make-field% :name name |
| 26 | :type type | 30 | :type type |