diff --git a/include/utils/utils.h b/include/cli/cli.h similarity index 100% rename from include/utils/utils.h rename to include/cli/cli.h diff --git a/include/commands/ed/ed.h b/include/commands/ed/ed.h new file mode 100644 index 0000000..1c808ba --- /dev/null +++ b/include/commands/ed/ed.h @@ -0,0 +1,4 @@ +#pragma once + +#include "internal/vase/vase.h" +#include "pch.h" diff --git a/include/ed/ed.h b/include/ed/ed.h deleted file mode 100644 index e69de29..0000000 diff --git a/include/vase/buffer/append.h b/include/internal/vase/buffer/append.h similarity index 100% rename from include/vase/buffer/append.h rename to include/internal/vase/buffer/append.h diff --git a/include/vase/buffer/buffer.h b/include/internal/vase/buffer/buffer.h similarity index 100% rename from include/vase/buffer/buffer.h rename to include/internal/vase/buffer/buffer.h diff --git a/include/vase/buffer/original.h b/include/internal/vase/buffer/original.h similarity index 100% rename from include/vase/buffer/original.h rename to include/internal/vase/buffer/original.h diff --git a/include/vase/constants.h b/include/internal/vase/constants.h similarity index 100% rename from include/vase/constants.h rename to include/internal/vase/constants.h diff --git a/include/vase/iterators/iter.h b/include/internal/vase/iterators/iter.h similarity index 100% rename from include/vase/iterators/iter.h rename to include/internal/vase/iterators/iter.h diff --git a/include/vase/iterators/line.h b/include/internal/vase/iterators/line.h similarity index 100% rename from include/vase/iterators/line.h rename to include/internal/vase/iterators/line.h diff --git a/include/vase/iterators/petal.h b/include/internal/vase/iterators/petal.h similarity index 100% rename from include/vase/iterators/petal.h rename to include/internal/vase/iterators/petal.h diff --git a/include/vase/shard.h b/include/internal/vase/shard.h similarity index 99% rename from include/vase/shard.h rename to include/internal/vase/shard.h index bf8a346..1d7ac83 100644 --- a/include/vase/shard.h +++ b/include/internal/vase/shard.h @@ -4,7 +4,6 @@ #include "buffer/original.h" #include "constants.h" #include "pch.h" -#include "utils/utils.h" struct Shard { enum struct Kind : uint8_t { diff --git a/include/vase/vase.h b/include/internal/vase/vase.h similarity index 98% rename from include/vase/vase.h rename to include/internal/vase/vase.h index 145d40f..7640f3e 100644 --- a/include/vase/vase.h +++ b/include/internal/vase/vase.h @@ -7,7 +7,6 @@ #include "pch.h" #include "search.h" #include "shard.h" -#include "utils/utils.h" struct Point { uint64_t row; diff --git a/include/io/file.h b/include/io/file.h deleted file mode 100644 index 6724f98..0000000 --- a/include/io/file.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "pch.h" - -inline int read_file(const char *path, char **text, uint32_t *len) { - FILE *f = fopen(path, "rb"); - if (!f) - return 0; - - fseek(f, 0, SEEK_END); - long size = ftell(f); - fseek(f, 0, SEEK_SET); - - if (size < 0 || size > UINT32_MAX) { - fclose(f); - return 0; - } - - *len = (uint32_t)size; - - *text = (char *)malloc(*len + 1); - if (!*text) { - fclose(f); - return 0; - } - - size_t read = fread(*text, 1, *len, f); - fclose(f); - - if (read != *len) { - free(*text); - *text = nullptr; - *len = 0; - return 0; - } - - return 1; -} diff --git a/src/vase/buffer/append.cc b/src/internal/vase/buffer/append.cc similarity index 97% rename from src/vase/buffer/append.cc rename to src/internal/vase/buffer/append.cc index 0f9c898..7e5a6ba 100644 --- a/src/vase/buffer/append.cc +++ b/src/internal/vase/buffer/append.cc @@ -1,4 +1,4 @@ -#include "vase/buffer/append.h" +#include "internal/vase/buffer/append.h" AppendBuffer::AppendBuffer(std::filesystem::path base_dir) { base_dir /= "tapp.XXXXXX"; diff --git a/src/vase/buffer/original.cc b/src/internal/vase/buffer/original.cc similarity index 95% rename from src/vase/buffer/original.cc rename to src/internal/vase/buffer/original.cc index eda78cb..7d227c8 100644 --- a/src/vase/buffer/original.cc +++ b/src/internal/vase/buffer/original.cc @@ -1,5 +1,4 @@ -#include "vase/buffer/original.h" -#include "io/file.h" +#include "internal/vase/buffer/original.h" OriginalBuffer::OriginalBuffer(std::filesystem::path base_dir) { if (!std::filesystem::exists(base_dir) || !std::filesystem::is_directory(base_dir)) diff --git a/src/vase/iterators/line.cc b/src/internal/vase/iterators/line.cc similarity index 97% rename from src/vase/iterators/line.cc rename to src/internal/vase/iterators/line.cc index cd4b34c..242c547 100644 --- a/src/vase/iterators/line.cc +++ b/src/internal/vase/iterators/line.cc @@ -1,4 +1,4 @@ -#include "vase/iterators/line.h" +#include "internal/vase/iterators/line.h" LineIterator::LineIterator(Shard *root, uint64_t line_num, Direction dir) : it(root, dir), dir(dir) { diff --git a/src/vase/iterators/petal.cc b/src/internal/vase/iterators/petal.cc similarity index 98% rename from src/vase/iterators/petal.cc rename to src/internal/vase/iterators/petal.cc index 83b2b41..8ab0d14 100644 --- a/src/vase/iterators/petal.cc +++ b/src/internal/vase/iterators/petal.cc @@ -1,4 +1,4 @@ -#include "vase/iterators/petal.h" +#include "internal/vase/iterators/petal.h" PetalIterator::PetalIterator(Shard *r, Direction dir) : dir(dir), root(r) { diff --git a/src/vase/regex/api.cc b/src/internal/vase/regex/api.cc similarity index 99% rename from src/vase/regex/api.cc rename to src/internal/vase/regex/api.cc index 17c5a9a..ab31b72 100644 --- a/src/vase/regex/api.cc +++ b/src/internal/vase/regex/api.cc @@ -1,4 +1,4 @@ -#include "vase/vase.h" +#include "internal/vase/vase.h" std::vector Vase::parse_replace(std::string_view s) { std::vector parts; diff --git a/src/vase/regex/core.cc b/src/internal/vase/regex/core.cc similarity index 98% rename from src/vase/regex/core.cc rename to src/internal/vase/regex/core.cc index 7fadc9e..c56dea1 100644 --- a/src/vase/regex/core.cc +++ b/src/internal/vase/regex/core.cc @@ -1,5 +1,5 @@ -#include "vase/iterators/petal.h" -#include "vase/vase.h" +#include "internal/vase/iterators/petal.h" +#include "internal/vase/vase.h" std::vector Vase::_regex_search( std::string_view pattern, Range range, std::string_view options diff --git a/src/vase/shard.cc b/src/internal/vase/shard.cc similarity index 99% rename from src/vase/shard.cc rename to src/internal/vase/shard.cc index 9720df5..8650dcf 100644 --- a/src/vase/shard.cc +++ b/src/internal/vase/shard.cc @@ -1,4 +1,4 @@ -#include "vase/shard.h" +#include "internal/vase/shard.h" void Shard::retain(Shard *n) { if (n) diff --git a/src/vase/vase.cc b/src/internal/vase/vase.cc similarity index 98% rename from src/vase/vase.cc rename to src/internal/vase/vase.cc index e082277..3ada405 100644 --- a/src/vase/vase.cc +++ b/src/internal/vase/vase.cc @@ -1,7 +1,6 @@ -#include "vase/vase.h" -#include "utils/utils.h" -#include "vase/iterators/line.h" -#include "vase/iterators/petal.h" +#include "internal/vase/vase.h" +#include "internal/vase/iterators/line.h" +#include "internal/vase/iterators/petal.h" Vase::Vase(std::filesystem::path path, std::filesystem::path swapdir) : path(path), swapdir(swapdir) { diff --git a/src/main.cc b/src/main.cc index 61ea976..c6259b2 100644 --- a/src/main.cc +++ b/src/main.cc @@ -1,23 +1,7 @@ +#include "cli/cli.h" #include "pch.h" -#include "vase/iterators/line.h" -#include "vase/vase.h" int main(int argc, char *argv[]) { - if (argc < 2) - throw std::runtime_error("Please give filename."); - - Vase vase = Vase(argv[1], "/tmp"); - - Point p = {UINT64_MAX, UINT64_MAX}; - vase.insert(&p, 'c'); - - printf("%s\n\n", vase.to_string().c_str()); - - printf("%lu bytes\n" - "%lu lines\n" - "\n", - vase.length(), - vase.root->lines); return 0; }