From 52cd18a9cdfdf03ac444932e68b98f7f0f56901d Mon Sep 17 00:00:00 2001 From: Daniel <d.hornung@indiscale.com> Date: Mon, 8 Aug 2022 14:54:52 +0200 Subject: [PATCH] ENH DOC: A few emacs utils. --- extra/emacs/readme.md | 12 +++++++ .../yaml-mode/Property inside RecordType | 34 +++++++++++++++++++ extra/emacs/snippets/yaml-mode/RecordType | 30 ++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 extra/emacs/readme.md create mode 100644 extra/emacs/snippets/yaml-mode/Property inside RecordType create mode 100644 extra/emacs/snippets/yaml-mode/RecordType diff --git a/extra/emacs/readme.md b/extra/emacs/readme.md new file mode 100644 index 00000000..2636eab6 --- /dev/null +++ b/extra/emacs/readme.md @@ -0,0 +1,12 @@ +# Emacs extras # + +This directory contains extra utils for use with Emacs. + +## Snippets ## + +if you copy the contents of the `snippets` directory to your `~/.emacs.d/snippets/`, the following +*yasnippet* snippets will become available: + +- yaml-mode: + - `RT`: Insert a new RecordType, with inheritance and properties sections. + - `prop`: Insert a new Property into a RecordType, with datatype and description. diff --git a/extra/emacs/snippets/yaml-mode/Property inside RecordType b/extra/emacs/snippets/yaml-mode/Property inside RecordType new file mode 100644 index 00000000..92769b78 --- /dev/null +++ b/extra/emacs/snippets/yaml-mode/Property inside RecordType @@ -0,0 +1,34 @@ +# -*- mode: snippet -*- +# This file is a part of the CaosDB Project. +# +# Copyright (C) 2022 IndiScale GmbH <info@indiscale.com> +# Copyright (C) 2022 Daniel Hornung <d.hornung@indiscale.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# name: Property inside RecordType +# key: prop +# expand-env: ((yas-indent-line 'fixed)) +# -- +${1:property_name}: + datatype: ${2:$$(yas-choose-value '("BOOLEAN" + "DATETIME" + "DOUBLE" + "FILE" + "INTEGER" + "LIST" + "REFERENCE" + "TEXT"))} + description: ${3:description text} +$0 \ No newline at end of file diff --git a/extra/emacs/snippets/yaml-mode/RecordType b/extra/emacs/snippets/yaml-mode/RecordType new file mode 100644 index 00000000..6b4a9c26 --- /dev/null +++ b/extra/emacs/snippets/yaml-mode/RecordType @@ -0,0 +1,30 @@ +# -*- mode: snippet -*- +# This file is a part of the CaosDB Project. +# +# Copyright (C) 2022 IndiScale GmbH <info@indiscale.com> +# Copyright (C) 2022 Daniel Hornung <d.hornung@indiscale.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# name: RecordType +# key: RT +# expand-env: ((yas-indent-line 'fixed)) +# -- +${1:RecordTypeName}: + inherit_from_obligatory:$0 + inherit_from_recommended: + inherit_from_suggested: + obligatory_properties: + recommended_properties: + suggested_properties: -- GitLab