fix: respect telescope's path_display (#196)

This commit is contained in:
JINNOUCHI Yasushi 2024-05-01 17:05:29 +09:00 committed by GitHub
parent 46c5358929
commit f8a89691c8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 30 additions and 6 deletions

View File

@ -243,6 +243,33 @@ See [default configuration](https://github.com/nvim-telescope/telescope.nvim#tel
timestamps when you open the file. It is reasonable to set this value more timestamps when you open the file. It is reasonable to set this value more
than or equal to the default value: `10`. than or equal to the default value: `10`.
- `path_display` (default: `nil`)
Overwrite the `path_display` setting in telescope.nvim itself. See
`:h telescope.defaults.path_display` for acceptable values. This setting will
be used by these priorities below.
1. Option specified with the command or Lua code.
- `:Telescope frecency path_display={"absolute"}`.
- or `:lua require("telescope").extensions.frecency.frecency { path_display = { "absolute" } }`.
2. `opts.extensions.frecency.path_display` in setup.
3. `opts.defaults.path_display` in setup.
```lua
require("telescope").setup {
defaults = {
-- This has the 3rd precedence.
path_display = { "absolute" },
},
extensions = {
frecency = {
-- This has the 2nd precedence.
path_display = { "shorten" },
},
},
}
```
- `recency_values` (default: see below) - `recency_values` (default: see below)
Set weighting factors for calculating “frecency”. This option does not affect Set weighting factors for calculating “frecency”. This option does not affect

View File

@ -18,6 +18,7 @@ local Config = {}
---@field matcher "default"|"fuzzy" default: "default" ---@field matcher "default"|"fuzzy" default: "default"
---@field scoring_function fun(recency: integer, fzy_score: number): number default: see lua/frecency/config.lua ---@field scoring_function fun(recency: integer, fzy_score: number): number default: see lua/frecency/config.lua
---@field max_timestamps integer default: 10 ---@field max_timestamps integer default: 10
---@field path_display? table default: nil
---@field show_filter_column boolean|string[] default: true ---@field show_filter_column boolean|string[] default: true
---@field show_scores boolean default: false ---@field show_scores boolean default: false
---@field show_unindexed boolean default: true ---@field show_unindexed boolean default: true
@ -75,6 +76,7 @@ Config.new = function()
ignore_patterns = true, ignore_patterns = true,
matcher = true, matcher = true,
max_timestamps = true, max_timestamps = true,
path_display = true,
scoring_function = true, scoring_function = true,
show_filter_column = true, show_filter_column = true,
show_scores = true, show_scores = true,

View File

@ -96,7 +96,7 @@ function Picker:start(opts)
path_display = function(picker_opts, path) path_display = function(picker_opts, path)
return self:default_path_display(picker_opts, path) return self:default_path_display(picker_opts, path)
end, end,
}, opts or {}) --[[@as FrecencyPickerOptions]] }, config_values, opts or {}) --[[@as FrecencyPickerOptions]]
self.workspace = self:get_workspace(opts.cwd, self.config.initial_workspace_tag or config.default_workspace) self.workspace = self:get_workspace(opts.cwd, self.config.initial_workspace_tag or config.default_workspace)
log.debug { workspace = self.workspace } log.debug { workspace = self.workspace }
@ -272,11 +272,6 @@ function Picker:filepath_formatter(picker_opts)
opts.cwd = workspace or self.fs.os_homedir opts.cwd = workspace or self.fs.os_homedir
return function(filename) return function(filename)
local path_display = config_values.path_display
if type(path_display) == "table" and path_display.filename_first then
opts.path_display = path_display
end
return utils.transform_path(opts, filename) return utils.transform_path(opts, filename)
end end
end end