Replace various adhoc operator+ based formatting with format func
This commit is contained in:
parent
13a5af70ae
commit
6e1a388544
|
@ -532,19 +532,6 @@ ByteCoord Buffer::last_modification_coord() const
|
|||
|
||||
String Buffer::debug_description() const
|
||||
{
|
||||
String res = display_name() + "\n";
|
||||
|
||||
res += " Flags: ";
|
||||
if (m_flags & Flags::File)
|
||||
res += "File (" + name() + ") ";
|
||||
if (m_flags & Flags::New)
|
||||
res += "New ";
|
||||
if (m_flags & Flags::Fifo)
|
||||
res += "Fifo ";
|
||||
if (m_flags & Flags::NoUndo)
|
||||
res += "NoUndo ";
|
||||
res += "\n";
|
||||
|
||||
size_t content_size = 0;
|
||||
for (auto& line : m_lines)
|
||||
content_size += (int)line->strview().length();
|
||||
|
@ -554,9 +541,13 @@ String Buffer::debug_description() const
|
|||
additional_size += undo_group.size() * sizeof(Modification);
|
||||
additional_size += m_changes.size() * sizeof(Change);
|
||||
|
||||
res += " Used mem: content=" + to_string(content_size) +
|
||||
" additional=" + to_string(additional_size) + "\n";
|
||||
return res;
|
||||
return format("{}\nFlags: {}{}{}{}\nUsed mem: content={} additional={}\n",
|
||||
display_name(),
|
||||
(m_flags & Flags::File) ? "File (" + name() + ") " : "",
|
||||
(m_flags & Flags::New) ? "New " : "",
|
||||
(m_flags & Flags::Fifo) ? "Fifo " : "",
|
||||
(m_flags & Flags::NoUndo) ? "NoUndo " : "",
|
||||
content_size, additional_size);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ void CommandManager::register_command(String command_name,
|
|||
struct parse_error : runtime_error
|
||||
{
|
||||
parse_error(StringView error)
|
||||
: runtime_error{"parse error: " + error} {}
|
||||
: runtime_error{format("parse error: {}", error)} {}
|
||||
};
|
||||
|
||||
namespace
|
||||
|
@ -125,7 +125,7 @@ String get_until_delimiter(StringView base, ByteCount& pos,
|
|||
struct unknown_expand : parse_error
|
||||
{
|
||||
unknown_expand(StringView name)
|
||||
: parse_error{"unknown expand '" + name + "'"} {}
|
||||
: parse_error{format("unknown expand '{}'", name)} {}
|
||||
};
|
||||
|
||||
template<bool throw_on_invalid>
|
||||
|
@ -169,14 +169,6 @@ void skip_blanks_and_comments(StringView base, ByteCount& pos)
|
|||
}
|
||||
}
|
||||
|
||||
struct unterminated_string : parse_error
|
||||
{
|
||||
unterminated_string(StringView open, StringView close, int nest = 0)
|
||||
: parse_error{"unterminated string '" + open + "..." + close + "'" +
|
||||
(nest > 0 ? "(nesting: " + to_string(nest) + ")" : "")}
|
||||
{}
|
||||
};
|
||||
|
||||
template<bool throw_on_unterminated>
|
||||
Token parse_percent_token(StringView line, ByteCount& pos)
|
||||
{
|
||||
|
@ -187,8 +179,8 @@ Token parse_percent_token(StringView line, ByteCount& pos)
|
|||
StringView type_name = line.substr(type_start, pos - type_start);
|
||||
|
||||
if (throw_on_unterminated and pos == length)
|
||||
throw parse_error{"expected a string delimiter after '%" +
|
||||
type_name + "'"};
|
||||
throw parse_error{format("expected a string delimiter after '%{}'",
|
||||
type_name)};
|
||||
|
||||
Token::Type type = token_type<throw_on_unterminated>(type_name);
|
||||
static const UnorderedMap<char, char> matching_delimiters = {
|
||||
|
@ -205,8 +197,9 @@ Token parse_percent_token(StringView line, ByteCount& pos)
|
|||
String token = get_until_delimiter(line, pos, opening_delimiter,
|
||||
closing_delimiter);
|
||||
if (throw_on_unterminated and pos == length)
|
||||
throw unterminated_string("%" + type_name + StringView{opening_delimiter},
|
||||
closing_delimiter, 0);
|
||||
throw parse_error{format("unterminated string '%{}{}...{}'",
|
||||
type_name, opening_delimiter,
|
||||
closing_delimiter)};
|
||||
return {type, token_start, pos, std::move(token)};
|
||||
}
|
||||
else
|
||||
|
@ -237,7 +230,7 @@ TokenList parse(StringView line)
|
|||
token_start = ++pos;
|
||||
String token = get_until_delimiter(line, pos, delimiter);
|
||||
if (throw_on_unterminated and pos == length)
|
||||
throw unterminated_string(delimiter, delimiter);
|
||||
throw parse_error{format("unterminated string {0}...{0}", delimiter)};
|
||||
result.emplace_back(delimiter == '"' ? Token::Type::RawEval
|
||||
: Token::Type::Raw,
|
||||
token_start, pos, std::move(token));
|
||||
|
|
|
@ -77,7 +77,7 @@ String real_path(StringView filename)
|
|||
{
|
||||
if (non_existing.empty())
|
||||
return res;
|
||||
return res + "/"_str + non_existing;
|
||||
return format("{}/{}", res, non_existing);
|
||||
}
|
||||
|
||||
auto it = find(existing.rbegin(), existing.rend(), '/');
|
||||
|
|
|
@ -430,7 +430,7 @@ bool InsertCompleter::try_complete(CompleteFunc complete_func)
|
|||
}
|
||||
catch (runtime_error& e)
|
||||
{
|
||||
write_debug("error while trying to run completer: "_str + e.what());
|
||||
write_debug(format("error while trying to run completer: {}", e.what()));
|
||||
return false;
|
||||
}
|
||||
if (not m_completions.is_valid())
|
||||
|
|
12
src/main.cc
12
src/main.cc
|
@ -117,15 +117,15 @@ void register_env_vars()
|
|||
[](StringView name, const Context& context)
|
||||
{ auto& sel = context.selections().main();
|
||||
auto beg = sel.min();
|
||||
return to_string(beg.line + 1) + "." + to_string(beg.column + 1) + "+" +
|
||||
to_string((int)context.buffer().distance(beg, sel.max())+1); }
|
||||
return format("{}.{}+{}", beg.line + 1, beg.column + 1,
|
||||
context.buffer().distance(beg, sel.max())+1); }
|
||||
}, {
|
||||
"selections_desc",
|
||||
[](StringView name, const Context& context)
|
||||
{ return join(transformed(context.selections(), [&](const Selection& sel) {
|
||||
auto beg = sel.min();
|
||||
return to_string(beg.line + 1) + "." + to_string(beg.column + 1) + "+" +
|
||||
to_string((int)context.buffer().distance(beg, sel.max())+1);
|
||||
return format("{}.{}+{}", beg.line + 1, beg.column + 1,
|
||||
context.buffer().distance(beg, sel.max())+1);
|
||||
}), ':'); }
|
||||
}, {
|
||||
"window_width",
|
||||
|
@ -623,12 +623,12 @@ int main(int argc, char* argv[])
|
|||
}
|
||||
catch (Kakoune::exception& error)
|
||||
{
|
||||
on_assert_failed(("uncaught exception ("_str + typeid(error).name() + "):\n" + error.what()).c_str());
|
||||
on_assert_failed(format("uncaught exception ({}):\n{}", typeid(error).name(), error.what()).c_str());
|
||||
return -1;
|
||||
}
|
||||
catch (std::exception& error)
|
||||
{
|
||||
on_assert_failed(("uncaught exception ("_str + typeid(error).name() + "):\n" + error.what()).c_str());
|
||||
on_assert_failed(format("uncaught exception ({}):\n{}", typeid(error).name(), error.what()).c_str());
|
||||
return -1;
|
||||
}
|
||||
catch (...)
|
||||
|
|
|
@ -470,8 +470,8 @@ void select_next_match(const Buffer& buffer, SelectionList& selections,
|
|||
void yank(Context& context, NormalParams params)
|
||||
{
|
||||
RegisterManager::instance()[params.reg] = context.selections_content();
|
||||
context.print_status({ "yanked " + to_string(context.selections().size()) +
|
||||
" selections to register " + StringView{params.reg},
|
||||
context.print_status({ format("yanked {} selections to register {}",
|
||||
context.selections().size(), params.reg),
|
||||
get_face("Information") });
|
||||
}
|
||||
|
||||
|
@ -1106,8 +1106,8 @@ void jump(Context& context, NormalParams)
|
|||
void save_selections(Context& context, NormalParams)
|
||||
{
|
||||
context.push_jump();
|
||||
context.print_status({ "saved " + to_string(context.selections().size()) +
|
||||
" selections", get_face("Information") });
|
||||
context.print_status({ format("saved {} selections", context.selections().size()),
|
||||
get_face("Information") });
|
||||
}
|
||||
|
||||
void align(Context& context, NormalParams)
|
||||
|
|
|
@ -37,8 +37,8 @@ void StringRegistry::debug_stats() const
|
|||
total_refcount += st.second->refcount - 1;
|
||||
total_size += (int)st.second->length;
|
||||
}
|
||||
write_debug(" data size: " + to_string(total_size) + ", mean: " + to_string((float)total_size/count));
|
||||
write_debug(" refcounts: " + to_string(total_refcount) + ", mean: " + to_string((float)total_refcount/count));
|
||||
write_debug(format(" data size: {}, mean: {}", total_size, (float)total_size/count));
|
||||
write_debug(format(" refcounts: {}, mean: {}", total_refcount, (float)total_refcount/count));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user