diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-02-09 20:30:33 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-02-09 20:30:33 +1100 |
| commit | b7a3d80bde0fc0fbf20c72f5980e1674de808248 (patch) | |
| tree | 56676d73e99213fb7afdf5a450581d947bf54dd7 /src/command_manager.cc | |
| parent | 39c0c0335108daf2a447d1043d33187dfbb06d8d (diff) | |
CommandManager: Use byte rather than columns for token positions
Not only are display columns rarely used to give error positions,
but they make the parsing much slower as for each token we need to
compute the column in the line.
Diffstat (limited to 'src/command_manager.cc')
| -rw-r--r-- | src/command_manager.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc index be2aa79e..e5854b7b 100644 --- a/src/command_manager.cc +++ b/src/command_manager.cc @@ -85,9 +85,9 @@ public: return {}; } - DisplayCoord coord() const + BufferCoord coord() const { - return {line, utf8::column_distance(line_start, pos)}; + return {line, (int)(pos - line_start)}; } StringView str; @@ -432,7 +432,7 @@ CommandManager::find_command(const Context& context, StringView name) const void CommandManager::execute_single_command(CommandParameters params, Context& context, const ShellContext& shell_context, - DisplayCoord pos) + BufferCoord pos) { if (params.empty()) return; @@ -481,7 +481,7 @@ void CommandManager::execute(StringView command_line, // Tokens are going to be read as a stack std::reverse(tokens.begin(), tokens.end()); - DisplayCoord command_coord; + BufferCoord command_coord; Vector<String> params; while (not tokens.empty()) { |
