labath added a comment. Thanks for the patch.
I don't know much about the LSP protocol, but I see opportunities for simplifying the string chopping code. See the inline comment for what /I think/ should be the equivalent code. It has also occurred to me that this may break for expressions containing quoted dots (`foo(".", b<TAB>`), but I don't know if there's anything we can do about that... ================ Comment at: lldb/tools/lldb-vscode/lldb-vscode.cpp:957-973 + std::vector<std::string> commit_points = {".", "->"}; + int max_breakpoint_position = -1; + int commit_points_index = -1; + for (size_t breakpoint_index = 0; breakpoint_index < commit_points.size(); breakpoint_index++) { + int breakpoint_position = match.rfind(commit_points[breakpoint_index]); + if (max_breakpoint_position < breakpoint_position){ + commit_points_index = breakpoint_index; ---------------- If I correctly understand what this is doing, all of this should boil down to something like: ``` llvm::StringRef match_ref = match; for (StringRef commit_point: {".", "->"}) { if (match_ref.contains(commit_point)) match_ref = match_ref.rsplit(commit_point).second; } EmplaceSafeString(item, "text", match_ref); ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73506/new/ https://reviews.llvm.org/D73506 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits