Fix minor bugs and add language detection.

This commit is contained in:
2026-09-25 13:23:57 +01:00
parent 6711ecbaee
commit 8d6f7d323e
14 changed files with 230 additions and 90 deletions
+5 -5
View File
@@ -145,7 +145,7 @@ void Function::register_posix(BEd &ctx) {
if (std::holds_alternative<std::filesystem::path>(arg)) {
auto path = std::get<std::filesystem::path>(arg);
s = vase::Shard::from_file(path);
buf.set_filename(path);
buf.set_filename(ctx, path);
} else if (std::holds_alternative<ShellArg>(arg)) {
auto cmd = std::get<ShellArg>(arg).cmd;
ctx.escape_command(cmd, buf.filename().string());
@@ -191,7 +191,7 @@ void Function::register_posix(BEd &ctx) {
if (std::holds_alternative<std::filesystem::path>(arg)) {
auto path = std::get<std::filesystem::path>(arg);
s = vase::Shard::from_file(path);
buf.set_filename(path);
buf.set_filename(ctx, path);
} else if (std::holds_alternative<ShellArg>(arg)) {
auto cmd = std::get<ShellArg>(arg).cmd;
ctx.escape_command(cmd, buf.filename().string());
@@ -234,7 +234,7 @@ void Function::register_posix(BEd &ctx) {
auto &addr = std::get<std::string>(addr_);
auto &buf = ctx.buffer(addr);
if (std::holds_alternative<std::filesystem::path>(arg))
buf.set_filename(std::get<std::filesystem::path>(arg));
buf.set_filename(ctx, std::get<std::filesystem::path>(arg));
else if (std::holds_alternative<ShellArg>(arg))
throw ed_error("Can't save shell command as save path.");
if (buf.filename().empty())
@@ -590,7 +590,7 @@ void Function::register_posix(BEd &ctx) {
auto path = std::get<std::filesystem::path>(arg);
s = vase::Shard::from_file(path);
if (buf.filename().empty())
buf.set_filename(path);
buf.set_filename(ctx, path);
} else if (std::holds_alternative<ShellArg>(arg)) {
auto cmd = std::get<ShellArg>(arg).cmd;
ctx.escape_command(cmd, buf.filename().string());
@@ -740,7 +740,7 @@ void Function::register_posix(BEd &ctx) {
if (std::holds_alternative<std::filesystem::path>(arg)) {
auto path = std::get<std::filesystem::path>(arg);
vase::write_file(path, text);
buf.set_filename(path);
buf.set_filename(ctx, path);
} else if (std::holds_alternative<ShellArg>(arg)) {
auto cmd = std::get<ShellArg>(arg).cmd;
ctx.escape_command(cmd, buf.filename().string());