From b3aed80afd5260a161816caae21045cfd0434176 Mon Sep 17 00:00:00 2001 From: Sangelo Date: Thu, 5 Oct 2023 09:34:44 +0200 Subject: [PATCH] Start work on dashinit, in nim. --- .gitignore | 37 ++++++++++++++++++++++++++ README.md | 42 ++++++++++++++++++++++++++++++ config.nims | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ dashinit.nimble | 13 ++++++++++ src/main | Bin 0 -> 74577 bytes src/main.nim | 5 ++++ 6 files changed, 164 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 config.nims create mode 100644 dashinit.nimble create mode 100755 src/main create mode 100644 src/main.nim diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..abb8bcf --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Ignore build directories +build/ +dist/ + +# Nim cache and generated files +nimcache/ +*.nimble-link +*.nim.cfg +*.nimble +*.so +*.dll +*.dylib +*.exe + +# Ignore specific NimScript files, but not config.nims +*.nims + +# Ignore VS Code settings +.vscode/ + +# Logs and databases +*.log +*.lst +*.db + +# Ignore any temporary files +*.tmp +*.swp +*.bak +*~ + +# If using nimpretty for code formatting +.nimpretty.cfg + +# Exclude project files +!config.nims +!dashinit.nimble \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b7d47b9 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# dashinit + +Simple yet powerful Rust powered templating tool. Fully configurable! + +## Table of contents + +- [dashinit](#dashinit) + - [Table of contents](#table-of-contents) + - [Install using script](#install-using-script) + - [Compile \& install manually](#compile--install-manually) + - [Update](#update) + - [Usage](#usage) + - [Uninstall](#uninstall) + +## Install using script + +Still not in usable state, instructions will follow. + +## Compile & install manually + +To compile `dashinit`, run the following command after cloning: + +```bash +# build a binary +nim build +``` + +## Update + +Still not in usable state, instructions will follow. + +## Usage + +To use niminit, run it inside the folder you'd like to initialise. +Optionally, you can pass the ``-g`` flag to also create a git repository. + +## Uninstall + +Still not in usable state, instructions will follow. + +--- +[Back to the top](#dashinit) \ No newline at end of file diff --git a/config.nims b/config.nims new file mode 100644 index 0000000..b8e919c --- /dev/null +++ b/config.nims @@ -0,0 +1,67 @@ +#### config.nims #### + +# Set some common options +switch("d", "release") +switch("hints", "off") + +# Helper procs to abstract away OS-specific commands +proc createDirectory(dir: string) = + when defined(windows): + exec "cmd /c mkdir " & dir + else: + exec "mkdir -p " & dir + +proc removeFileOrDir(path: string) = + when defined(windows): + if path.endsWith("/"): + exec "cmd /c rmdir /s /q " & path + else: + exec "cmd /c del /f /q " & path + else: + exec "rm -rf " & path + +# Build task for intermediate builds +task build, "Compile the project for intermediate builds": + createDirectory("build") ## Ensure the build directory exists + exec "nim c -o:build/dashinit src/main.nim" ## Compile the main project file into the build directory + +# Distribution task for final builds +task dist, "Compile the project for distribution": + createDirectory("dist") ## Ensure the directory exists + exec "nim c -o:dist/dashinit src/main.nim" ## Compile the main project file into the dist directory + +# Dev task (Compiles and runs main.nim) +task dev, "Run tests": + switch("undef", "release") ## Unset the release switch for this task + createDirectory("dev") ## Ensure dev directory exists + exec "nim c -o:dev/dashinit -r src/main.nim" + +# Clean task to remove generated files +task clean, "Clean up generated files": + removeFileOrDir("build/*") + removeFileOrDir("dist/*") + removeFileOrDir("dev/*") + +task deepclean, "Clean up by removing build/ and dist/ directories": + removeFileOrDir("build/") + removeFileOrDir("dist/") + removeFileOrDir("dev/") + + +#### Aliases #### + +# Build shorthand +task b, "Alias for build task": + exec "nim build" + +# Dist shorthand +task d, "Alias for dist task": + exec "nim dist" + +# Clean shorthand +task cl, "Alias for clean task": + exec "nim clean" + +# Deepclean shorthand +task dcl, "Alias for deep clean task": + exec "nim deepclean" \ No newline at end of file diff --git a/dashinit.nimble b/dashinit.nimble new file mode 100644 index 0000000..ccb0665 --- /dev/null +++ b/dashinit.nimble @@ -0,0 +1,13 @@ +# Package + +version = "0.1.0" +author = "Sangelo" +description = "A fast way to initialise all your projects!" +license = "MIT" +srcDir = "src" +bin = @["dashinit"] + + +# Dependencies + +requires "nim >= 2.0.0" diff --git a/src/main b/src/main new file mode 100755 index 0000000000000000000000000000000000000000..acb28d7ccee75bddd5cfea076bccdad254b2df07 GIT binary patch literal 74577 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 literal 0 HcmV?d00001 diff --git a/src/main.nim b/src/main.nim new file mode 100644 index 0000000..862d40c --- /dev/null +++ b/src/main.nim @@ -0,0 +1,5 @@ +# This is just an example to get you started. A typical binary package +# uses this file as the main entry point of the application. + +when isMainModule: + echo("Hello, World!")