From cdcd18ea664ba030e232e81d172735cb44caedac Mon Sep 17 00:00:00 2001 From: timerix Date: Thu, 9 Feb 2023 01:56:17 +0600 Subject: [PATCH] first commit --- .gitignore | 12 +++++++++ .gitmodules | 6 +++++ .vscode/.gitignore | 1 + .vscode/launch.json | 27 ++++++++++++++++++++ .vscode/tasks.json | 31 +++++++++++++++++++++++ Makefile | 18 +++++++++++++ README.md | 2 ++ cbuild | 1 + default.config | 57 ++++++++++++++++++++++++++++++++++++++++++ kerep | 1 + src/main.c | 10 ++++++++ tasks/pre_build.sh | 13 ++++++++++ tasks/rebuild_kerep.sh | 3 +++ 13 files changed, 182 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .vscode/.gitignore create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 Makefile create mode 100644 README.md create mode 160000 cbuild create mode 100644 default.config create mode 160000 kerep create mode 100644 src/main.c create mode 100644 tasks/pre_build.sh create mode 100644 tasks/rebuild_kerep.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cab1d1a --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Build results +bin/ +obj/ + +# user files +.old*/ +.vs/ +.vshistory/ +.editorconfig +*.user +*.vcxproj.filters +current.config diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ab3e0b0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "cbuild"] + path = cbuild + url = https://github.com/Timerix22/cbuild.git +[submodule "kerep"] + path = kerep + url = https://github.com/Timerix22/kerep.git diff --git a/.vscode/.gitignore b/.vscode/.gitignore new file mode 100644 index 0000000..c3d3a20 --- /dev/null +++ b/.vscode/.gitignore @@ -0,0 +1 @@ +settings.json \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..e1515ba --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,27 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) Debug", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/bin/scolte.exe", + "preLaunchTask": "build_exec_dbg", + "stopAtEntry": false, + "cwd": "${workspaceFolder}/bin", + "externalConsole": false, + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "text": "-gdb-set disassembly-flavor intel", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..f24315b --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,31 @@ + +{ + + "version": "2.0.0", + "tasks": [ + { + "label": "build_exec_dbg", + "detail": "build project with debug symbols", + "type": "cppbuild", + "command": "make", + "args": [ + "build_exec_dbg" + ], + "options": { + "cwd": "${workspaceFolder}" + }, + "problemMatcher": ["$gcc"], + "group": { + "kind": "build" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "showReuseMessage": false, + "clear": true + } + } + ] + } \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3f31069 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +all: build_exec + +##### Build cbuild/default_tasks ###### +build_exec: + @cbuild/call_task.sh build_exec +build_exec_dbg: + @cbuild/call_task.sh build_exec_dbg + +##### Launch cbuild/default_tasks ###### +exec: build_exec + @cbuild/call_task.sh exec + +valgrind: build_exec_dbg + @cbuild/call_task.sh valgrind + +##### Recompile kerep.a ###### +rebuild_kerep: + @cbuild/call_task.sh rebuild_kerep diff --git a/README.md b/README.md new file mode 100644 index 0000000..c36693a --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# SCoLTE - Simple Command-Line Text Editor +I just wanted to edit text files from terminal, not to memorize a ton of weird shortcuts for nano or vim. So here it is - easy to use text editor. diff --git a/cbuild b/cbuild new file mode 160000 index 0000000..81358b7 --- /dev/null +++ b/cbuild @@ -0,0 +1 @@ +Subproject commit 81358b72f8dc602d694f46ea42c2b64d9b0b41c6 diff --git a/default.config b/default.config new file mode 100644 index 0000000..ed2159b --- /dev/null +++ b/default.config @@ -0,0 +1,57 @@ +#!/bin/bash +CBUILD_VERSION=4 +CONFIG_VERSION=1 + +PROJECT=scolte +CMP_C=gcc +CMP_CPP=g++ +STD_C=c11 +STD_CPP=c++17 +WARN_C="-Wall -Wno-discarded-qualifiers" +WARN_CPP="-Wall" +SRC_C="$( find src -name '*.c')" +SRC_CPP="$( find src -name '*.cpp')" +#TESTS_C="$( find tests -name '*.c')" +#TESTS_CPP="$(find tests -name '*.cpp')" + +OUTDIR=bin +OBJDIR=obj +PRE_TASK_SCRIPT=tasks/pre_build.sh +POST_TASK_SCRIPT= + +case $OS in + WINDOWS) + EXEC_FILE=$PROJECT.exe + ;; + LINUX) + EXEC_FILE=$PROJECT + ;; + *) + printf "${RED}operating system $OS has no configuration variants\n" + exit 1 + ;; +esac + +case $TASK in + build_exec) + C_ARGS="-O2" + CPP_ARGS="$C_ARGS" + LINKER_ARGS="" + TASK_SCRIPT=cbuild/default_tasks/build_exec.sh + KEREP_BUILD_TASK=build_static_lib + ;; + build_exec_dbg) + C_ARGS="-O0 -g" + CPP_ARGS="$C_ARGS" + LINKER_ARGS="" + TASK_SCRIPT=cbuild/default_tasks/build_exec.sh + KEREP_BUILD_TASK=build_static_lib_dbg + ;; + exec) + TASK_SCRIPT=cbuild/default_tasks/exec.sh + ;; + valgrind) + VALGRIND_ARGS="-s --log-file=valgrind.log --read-var-info=yes --track-origins=yes --fullpath-after=$PROJECT/ --leak-check=full --show-leak-kinds=all" + TASK_SCRIPT=cbuild/default_tasks/valgrind.sh + ;; +esac diff --git a/kerep b/kerep new file mode 160000 index 0000000..d2eb241 --- /dev/null +++ b/kerep @@ -0,0 +1 @@ +Subproject commit d2eb241d0df5c88958888afa9f577c3dd1414d21 diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..8351144 --- /dev/null +++ b/src/main.c @@ -0,0 +1,10 @@ +#include "../kerep/src/Filesystem/filesystem.h" + +int main(const int argc, const char* const* argv){ + kprintf("\e[37margs:"); + for(int i=0; i