mirror of
https://github.com/ThePrimeagen/harpoon.git
synced 2025-07-13 17:40:25 +00:00
feat: added excluded_filetypes option to avoid adding unwanted filetypes to the harpoon menu list.
This commit is contained in:
parent
22b2650315
commit
e27f59e938
@ -146,6 +146,7 @@ require("harpoon").setup({
|
||||
save_on_toggle = false,
|
||||
save_on_change = true,
|
||||
enter_on_sendcmd = false,
|
||||
excluded_filetypes = {"harpoon"}
|
||||
},
|
||||
... your other configs ...
|
||||
})
|
||||
@ -159,6 +160,7 @@ require("harpoon").setup({
|
||||
what I have found).
|
||||
* `enter_on_sendcmd` will set harpoon to run the command immediately as it's
|
||||
passed to the terminal when calling `sendCommand`.
|
||||
* `excluded_filetypes` filetypes that you want to prevent from adding to the harpoon list menu.
|
||||
|
||||
#### Preconfigured Terminal Commands
|
||||
These are project specific commands that you wish to execute on the regular.
|
||||
|
@ -157,6 +157,7 @@ M.setup = function(config)
|
||||
["save_on_toggle"] = false,
|
||||
["save_on_change"] = true,
|
||||
["enter_on_sendcmd"] = false,
|
||||
["excluded_filetypes"] = {"harpoon"}
|
||||
},
|
||||
}, expand_dir(
|
||||
c_config
|
||||
|
@ -115,6 +115,18 @@ local function validate_buf_name(buf_name)
|
||||
end
|
||||
end
|
||||
|
||||
local function filter_filetype()
|
||||
local current_filetype = vim.bo.filetype
|
||||
local excluded_filetypes = harpoon.get_global_settings().excluded_filetypes
|
||||
for filetype = 1, #excluded_filetypes do
|
||||
if(current_filetype == excluded_filetypes[filetype] or current_filetype == "harpoon") then
|
||||
log.error('filter_filetype(): This filetype cannot be added or is included in the "excluded_filetypes" option')
|
||||
error('This filetype cannot be added or is included in the "excluded_filetypes" option')
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
M.get_index_of = function(item)
|
||||
log.trace("get_index_of():", item)
|
||||
if item == nil then
|
||||
@ -180,6 +192,7 @@ M.valid_index = function(idx)
|
||||
end
|
||||
|
||||
M.add_file = function(file_name_or_buf_id)
|
||||
filter_filetype();
|
||||
local buf_name = get_buf_name(file_name_or_buf_id)
|
||||
log.trace("add_file():", buf_name)
|
||||
|
||||
@ -290,11 +303,13 @@ M.get_length = function()
|
||||
end
|
||||
|
||||
M.set_current_at = function(idx)
|
||||
filter_filetype()
|
||||
local buf_name = get_buf_name()
|
||||
log.trace("set_current_at(): Setting id", idx, buf_name)
|
||||
local config = harpoon.get_mark_config()
|
||||
local current_idx = M.get_index_of(buf_name)
|
||||
|
||||
|
||||
-- Remove it if it already exists
|
||||
if M.valid_index(current_idx) then
|
||||
config.marks[current_idx] = create_mark("")
|
||||
|
Loading…
x
Reference in New Issue
Block a user