diff options
| author | caojoshua <33404808+caojoshua@users.noreply.github.com> | 2021-07-08 01:30:44 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-08 10:30:44 +0200 |
| commit | d5a8e48aa632508f5d7d6d428244eaf150adad25 (patch) | |
| tree | 7d0e7ccdfb9f4c01713c08e42bcb4a6993076a0f /lua/telescope/utils.lua | |
| parent | 38907ce7d74f26d123bfbb8ecf55bc9616b5ece5 (diff) | |
Consistent filepath display and code cleanup. (#839)
BREAKING CHANGE: see :help telescope.changelog-839 for more information
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
Diffstat (limited to 'lua/telescope/utils.lua')
| -rw-r--r-- | lua/telescope/utils.lua | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lua/telescope/utils.lua b/lua/telescope/utils.lua index 3938bae..b8d2b6b 100644 --- a/lua/telescope/utils.lua +++ b/lua/telescope/utils.lua @@ -275,6 +275,46 @@ utils.path_tail = (function() end end)() +utils.is_path_hidden = function(opts, path_display) + path_display = path_display or utils.get_default(opts.path_display, require('telescope.config').values.path_display) + + return path_display == nil or path_display == "hidden" or + type(path_display) ~= "table" or vim.tbl_contains(path_display, "hidden") +end + +utils.transform_path = function(opts, path) + local path_display = utils.get_default(opts.path_display, require('telescope.config').values.path_display) + + if utils.is_path_hidden(nil, path_display) then + return '' + end + + local transformed_path = path + + if vim.tbl_contains(path_display, "tail") then + transformed_path = utils.path_tail(transformed_path) + else + if not vim.tbl_contains(path_display, "absolute") then + local cwd + if opts.cwd then + cwd = opts.cwd + if not vim.in_fast_event() then + cwd = vim.fn.expand(opts.cwd) + end + else + cwd = vim.loop.cwd(); + end + transformed_path = pathlib.make_relative(transformed_path, cwd) + end + + if vim.tbl_contains(path_display, "shorten") then + transformed_path = pathlib.shorten(transformed_path) + end + end + + return transformed_path +end + -- local x = utils.make_default_callable(function(opts) -- return function() -- print(opts.example, opts.another) |
