2011-09-02 20:51:20 +04:00
|
|
|
#ifndef file_hh_INCLUDED
|
|
|
|
#define file_hh_INCLUDED
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
2011-09-09 22:40:59 +04:00
|
|
|
#include "exception.hh"
|
2011-09-02 20:51:20 +04:00
|
|
|
|
2011-09-09 22:40:59 +04:00
|
|
|
namespace Kakoune
|
2011-09-02 20:51:20 +04:00
|
|
|
{
|
|
|
|
|
2011-09-09 22:40:59 +04:00
|
|
|
struct file_access_error : runtime_error
|
2011-09-02 22:01:20 +04:00
|
|
|
{
|
2011-09-09 22:40:59 +04:00
|
|
|
public:
|
|
|
|
file_access_error(const std::string& filename,
|
|
|
|
const std::string& error_desc)
|
|
|
|
: runtime_error(filename + ": " + error_desc) {}
|
2011-09-02 22:01:20 +04:00
|
|
|
};
|
|
|
|
|
2011-09-09 22:40:59 +04:00
|
|
|
struct file_not_found : file_access_error
|
2011-09-02 20:51:20 +04:00
|
|
|
{
|
2011-09-09 22:40:59 +04:00
|
|
|
file_not_found(const std::string& filename)
|
|
|
|
: file_access_error(filename, "file not found") {}
|
2011-09-02 20:51:20 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
class Buffer;
|
2011-11-27 16:56:38 +04:00
|
|
|
std::string read_file(const std::string& filename);
|
2011-09-02 20:51:20 +04:00
|
|
|
Buffer* create_buffer_from_file(const std::string& filename);
|
|
|
|
void write_buffer_to_file(const Buffer& buffer, const std::string& filename);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // file_hh_INCLUDED
|