Add the ability to specify source priority manually
This commit is contained in:
@@ -230,6 +230,11 @@ The source name.
|
|||||||
|
|
||||||
The source customization options. It is defined by each source.
|
The source customization options. It is defined by each source.
|
||||||
|
|
||||||
|
#### sources[number].priority (type: number|nil)
|
||||||
|
|
||||||
|
The manually specified source priority.
|
||||||
|
If you don't specifies it, The source priority will determine by the default algorithm (see `sorting.priority_weight`).
|
||||||
|
|
||||||
#### sources[number].keyword_pattern (type: string)
|
#### sources[number].keyword_pattern (type: string)
|
||||||
|
|
||||||
The source specific keyword_pattern for override.
|
The source specific keyword_pattern for override.
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ menu.update = function(self, ctx, sources)
|
|||||||
if s.offset <= offset then
|
if s.offset <= offset then
|
||||||
if not has_triggered_by_symbol_source or s.is_triggered_by_symbol then
|
if not has_triggered_by_symbol_source or s.is_triggered_by_symbol then
|
||||||
-- source order priority bonus.
|
-- source order priority bonus.
|
||||||
local priority = (#sources - (i - 1)) * config.get().sorting.priority_weight
|
local priority = s:get_config().priority or ((#sources - (i - 1)) * config.get().sorting.priority_weight)
|
||||||
|
|
||||||
for _, e in ipairs(s:get_entries(ctx)) do
|
for _, e in ipairs(s:get_entries(ctx)) do
|
||||||
e.score = e.score + priority
|
e.score = e.score + priority
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ cmp.PreselectMode.None = 'none'
|
|||||||
---@class cmp.SourceConfig
|
---@class cmp.SourceConfig
|
||||||
---@field public name string
|
---@field public name string
|
||||||
---@field public opts table
|
---@field public opts table
|
||||||
|
---@field public priority number|nil
|
||||||
---@field public keyword_pattern string
|
---@field public keyword_pattern string
|
||||||
---@field public keyword_length number
|
---@field public keyword_length number
|
||||||
---@field public max_item_count number
|
---@field public max_item_count number
|
||||||
|
|||||||
Reference in New Issue
Block a user