### Features * select how to generate the list key #### was list_key = [cwd [+ git branch]] * files * terminals * tmux #### is list_key = [key] + [list_name] nil = default false = turn off listA = { listLine({ ... }) { ... } { ... } { ... } } harpoon.setup({ settings = { jumpToFileLocation: boolean => defaults true } default = { // defaults to json.parse encode = function(obj) => string decode = function(string) => object key = function() ... end display = function(listLine) => string select = function(listLine) => void equals = function(list_line_a, list_line_b) => boolean # question mark: what does it take to support custom things in here? # potentially subject to change add = function() HarpoonListItem } frecency = { ... a file list that is generated by harpoon ... ... can be opened via viewer ... } events = { on_change = function(operation, list, value) } project = { //key = vim.loop.cwd key = git origin? } specifics = { key = vim.loop.cwd + git_branch } list_name = { key = function() ... end } }) ### Functionality select by index prev/next addToBack addToFront checking for deleted files? - perhaps this could be part of the default select operation and use error select - default file select should come with options so you can open split/tab as well harpoon.current = "default" harpoon.current = "listName" harpoon.set_current(list_name) ### LATER FEATUERS frecency = later feature likely, but great idea - https://github.com/agkozak/zsh-z - https://en.wikipedia.org/wiki/Frecency // i don't understand this one harpoon -> qfix : qfix -> harpoon harpoon.list("notehu") -> HarpoonList harpoon.list().add()