Files
bed/include/internal/buffer/buffer.h
T

35 lines
866 B
C++

#pragma once
#include "definitions.h"
#include "internal/marks/marks.h"
#include "pch.h"
namespace bed::internal::buffer {
struct Buffer {
internal::vase::Vase vase;
internal::marks::MarksEngine marks;
uint64_t line = 0;
bool modified;
std::filesystem::path save_path = "";
struct {
uint64_t start{0};
uint64_t end{0};
} prev_range;
Buffer();
Buffer(std::string command);
Buffer(std::filesystem::path path);
~Buffer() = default;
void load(std::string command);
void load(std::filesystem::path path);
void jump(uint64_t n_line);
void join(uint64_t start_line, uint64_t end_line);
void remove(uint64_t start_line, uint64_t end_line);
void append(std::string text, uint64_t line);
void print(uint64_t start_line, uint64_t end_line);
std::string list_string(std::string_view s);
};
} // namespace bed::internal::buffer