fix(lsp): fallback to sorting completions by label for LSPs that don't return unique sortText
This commit is contained in:
parent
561124e667
commit
84a45810a6
2 changed files with 6 additions and 4 deletions
|
|
@ -87,8 +87,9 @@ pub fn load_entries(self: *Type) !usize {
|
|||
|
||||
const less_fn = struct {
|
||||
fn less_fn(_: void, lhs: Entry, rhs: Entry) bool {
|
||||
const lhs_str = if (lhs.sort_text.len > 0) lhs.sort_text else lhs.label;
|
||||
const rhs_str = if (rhs.sort_text.len > 0) rhs.sort_text else rhs.label;
|
||||
const sort_text_equal = std.mem.eql(u8, lhs.sort_text, rhs.sort_text);
|
||||
const lhs_str = if (!sort_text_equal and lhs.sort_text.len > 0) lhs.sort_text else lhs.label;
|
||||
const rhs_str = if (!sort_text_equal and rhs.sort_text.len > 0) rhs.sort_text else rhs.label;
|
||||
return std.mem.order(u8, lhs_str, rhs_str) == .lt;
|
||||
}
|
||||
}.less_fn;
|
||||
|
|
|
|||
|
|
@ -69,8 +69,9 @@ pub fn load_entries(palette: *Type) !usize {
|
|||
|
||||
const less_fn = struct {
|
||||
fn less_fn(_: void, lhs: Entry, rhs: Entry) bool {
|
||||
const lhs_str = if (lhs.sort_text.len > 0) lhs.sort_text else lhs.label;
|
||||
const rhs_str = if (rhs.sort_text.len > 0) rhs.sort_text else rhs.label;
|
||||
const sort_text_equal = std.mem.eql(u8, lhs.sort_text, rhs.sort_text);
|
||||
const lhs_str = if (!sort_text_equal and lhs.sort_text.len > 0) lhs.sort_text else lhs.label;
|
||||
const rhs_str = if (!sort_text_equal and rhs.sort_text.len > 0) rhs.sort_text else rhs.label;
|
||||
return std.mem.order(u8, lhs_str, rhs_str) == .lt;
|
||||
}
|
||||
}.less_fn;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue