mirror of
https://github.com/ThePrimeagen/harpoon.git
synced 2025-07-14 01:50:27 +00:00
feat: add sync_on_ui_close
option
This commit is contained in:
parent
61742f45c8
commit
ac9b93984f
@ -170,7 +170,8 @@ Settings can alter the experience of harpoon
|
|||||||
**Definition**
|
**Definition**
|
||||||
```lua
|
```lua
|
||||||
---@class HarpoonSettings
|
---@class HarpoonSettings
|
||||||
---@field save_on_toggle boolean defaults to true
|
---@field save_on_toggle boolean defaults to false
|
||||||
|
---@field sync_on_ui_close boolean defaults to false
|
||||||
---@field key (fun(): string)
|
---@field key (fun(): string)
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -184,6 +185,7 @@ Settings can alter the experience of harpoon
|
|||||||
```lua
|
```lua
|
||||||
settings = {
|
settings = {
|
||||||
save_on_toggle = false,
|
save_on_toggle = false,
|
||||||
|
sync_on_ui_close = false,
|
||||||
border_chars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
border_chars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
||||||
key = function()
|
key = function()
|
||||||
return vim.loop.cwd()
|
return vim.loop.cwd()
|
||||||
|
@ -27,12 +27,14 @@ M.DEFAULT_LIST = DEFAULT_LIST
|
|||||||
---@class HarpoonSettings
|
---@class HarpoonSettings
|
||||||
---@field border_chars string[] defaults to { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }
|
---@field border_chars string[] defaults to { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }
|
||||||
---@field save_on_toggle boolean defaults to true
|
---@field save_on_toggle boolean defaults to true
|
||||||
|
---@field sync_on_ui_close? boolean
|
||||||
---@field ui_fallback_width number defaults 69, nice
|
---@field ui_fallback_width number defaults 69, nice
|
||||||
---@field ui_width_ratio number defaults to 0.62569
|
---@field ui_width_ratio number defaults to 0.62569
|
||||||
---@field key (fun(): string)
|
---@field key (fun(): string)
|
||||||
|
|
||||||
---@class HarpoonPartialSettings
|
---@class HarpoonPartialSettings
|
||||||
---@field save_on_toggle? boolean
|
---@field save_on_toggle? boolean
|
||||||
|
---@field sync_on_ui_close? boolean
|
||||||
---@field key? (fun(): string)
|
---@field key? (fun(): string)
|
||||||
|
|
||||||
---@class HarpoonConfig
|
---@class HarpoonConfig
|
||||||
@ -56,6 +58,7 @@ function M.get_default_config()
|
|||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
save_on_toggle = false,
|
save_on_toggle = false,
|
||||||
|
sync_on_ui_close = false,
|
||||||
border_chars = {
|
border_chars = {
|
||||||
"─",
|
"─",
|
||||||
"│",
|
"│",
|
||||||
|
@ -158,8 +158,6 @@ function HarpoonList:resolve_displayed(displayed)
|
|||||||
end
|
end
|
||||||
|
|
||||||
self.items = new_list
|
self.items = new_list
|
||||||
|
|
||||||
require("harpoon"):sync()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function HarpoonList:select(index, options)
|
function HarpoonList:select(index, options)
|
||||||
|
@ -153,6 +153,9 @@ function HarpoonUI:save()
|
|||||||
local list = Buffer.get_contents(self.bufnr)
|
local list = Buffer.get_contents(self.bufnr)
|
||||||
Logger:log("ui#save", list)
|
Logger:log("ui#save", list)
|
||||||
self.active_list:resolve_displayed(list)
|
self.active_list:resolve_displayed(list)
|
||||||
|
if self.settings.sync_on_ui_close then
|
||||||
|
require("harpoon"):sync()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param settings HarpoonSettings
|
---@param settings HarpoonSettings
|
||||||
|
Loading…
x
Reference in New Issue
Block a user