aboutsummaryrefslogtreecommitdiff
path: root/templates/class.sh
diff options
context:
space:
mode:
Diffstat (limited to 'templates/class.sh')
-rwxr-xr-xtemplates/class.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/templates/class.sh b/templates/class.sh
new file mode 100755
index 0000000..ad60acf
--- /dev/null
+++ b/templates/class.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env sh
+
+set -e -o pipefail
+
+class_name="$1"
+path="$2"
+
+[ -z "$class_name" ] && exit 1
+
+if ! [ -z "$path" ]; then
+ mkdir -p "./src/$path"
+fi
+
+# Header
+echo "#pragma once
+
+class $class_name {
+ Q_OBJECT
+
+ public:
+ $class_name();
+};
+" > "./src/$path/$class_name.hpp"
+
+# Implementation
+echo "
+
+#include \"$path/$class_name.hpp\"
+
+$class_name::$class_name() {}
+" > "./src/$path/$class_name.cpp"