Major updates/cleanup.
This commit is contained in:
@@ -81,16 +81,10 @@ std::optional<buffer::Line> AddressPromise::get_line(BEd &ctx, std::vector<Addre
|
||||
AddressPromise prev;
|
||||
for (std::size_t idx = 0; idx < list.size(); idx++) {
|
||||
AddressPromise &curr = list[idx];
|
||||
if (curr.bufname.has_value()) {
|
||||
if (curr.bufname->empty()) {
|
||||
bufname = ctx.current().buffername;
|
||||
curr.bufname = bufname;
|
||||
} else {
|
||||
bufname = *curr.bufname;
|
||||
}
|
||||
} else {
|
||||
if (!curr.bufname.has_value())
|
||||
curr.bufname = bufname;
|
||||
}
|
||||
else if (curr.bufname->empty())
|
||||
curr.bufname = bufname = ctx.current().buffername;
|
||||
bool is_final = idx + 1 == list.size();
|
||||
if (!is_final) {
|
||||
if (std::holds_alternative<None>(curr.base)) {
|
||||
@@ -107,15 +101,15 @@ std::optional<buffer::Line> AddressPromise::get_line(BEd &ctx, std::vector<Addre
|
||||
} else {
|
||||
prev_given = true;
|
||||
}
|
||||
if (curr.jumping) {
|
||||
buffer::Line resolved = curr.resolve(ctx);
|
||||
buffer::Line resolved = curr.resolve(ctx);
|
||||
if (curr.jumping)
|
||||
ctx.current() = resolved;
|
||||
curr.bufname = resolved.buffername;
|
||||
curr.base = Number(resolved.number);
|
||||
curr.offset = 0;
|
||||
}
|
||||
curr.bufname = resolved.buffername;
|
||||
curr.base = Number(resolved.number);
|
||||
curr.offset = 0;
|
||||
prev = curr;
|
||||
prev_set = true;
|
||||
bufname = *curr.bufname;
|
||||
} else {
|
||||
if (std::holds_alternative<None>(curr.base)) {
|
||||
if (prev_set) {
|
||||
@@ -144,16 +138,10 @@ std::optional<buffer::Range> AddressPromise::get_range(BEd &ctx, std::vector<Add
|
||||
AddressPromise prev;
|
||||
for (std::size_t idx = 0; idx < list.size(); idx++) {
|
||||
AddressPromise &curr = list[idx];
|
||||
if (curr.bufname.has_value()) {
|
||||
if (curr.bufname->empty()) {
|
||||
bufname = ctx.current().buffername;
|
||||
curr.bufname = bufname;
|
||||
} else {
|
||||
bufname = *curr.bufname;
|
||||
}
|
||||
} else {
|
||||
if (!curr.bufname.has_value())
|
||||
curr.bufname = bufname;
|
||||
}
|
||||
else if (curr.bufname->empty())
|
||||
curr.bufname = bufname = ctx.current().buffername;
|
||||
bool is_final = idx + 1 == list.size();
|
||||
if (!is_final) {
|
||||
if (std::holds_alternative<None>(curr.base)) {
|
||||
@@ -170,15 +158,15 @@ std::optional<buffer::Range> AddressPromise::get_range(BEd &ctx, std::vector<Add
|
||||
} else {
|
||||
prev_given = true;
|
||||
}
|
||||
if (curr.jumping) {
|
||||
buffer::Line resolved = curr.resolve(ctx);
|
||||
buffer::Line resolved = curr.resolve(ctx);
|
||||
curr.bufname = resolved.buffername;
|
||||
curr.base = Number(resolved.number);
|
||||
curr.offset = 0;
|
||||
if (curr.jumping)
|
||||
ctx.current() = resolved;
|
||||
curr.bufname = resolved.buffername;
|
||||
curr.base = Number(resolved.number);
|
||||
curr.offset = 0;
|
||||
}
|
||||
prev = curr;
|
||||
prev_set = true;
|
||||
bufname = *curr.bufname;
|
||||
} else {
|
||||
if (std::holds_alternative<None>(curr.base)) {
|
||||
if (prev_set) {
|
||||
|
||||
Reference in New Issue
Block a user