From 6eeaf0f3968ea1e6f135a5ee5aa01828f66611a5 Mon Sep 17 00:00:00 2001 From: davidsierradz Date: Thu, 15 Feb 2024 20:59:14 +0000 Subject: [PATCH] Add show_hidden_files_by_default option (#2) MR requested at https://github.com/hrsh7th/cmp-path/pull/66#issuecomment-1938589117 Reviewed-on: https://codeberg.org/FelipeLema/cmp-async-path/pulls/2 Co-authored-by: davidsierradz Co-committed-by: davidsierradz --- README.md | 6 ++++++ lua/cmp_async_path/init.lua | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 36f0406..457733a 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,9 @@ Specify if directory names in the completion menu should include a trailing slas _Default:_ returns the current working directory of the current buffer Specifies the base directory for relative paths. + +### show_hidden_files_by_default (type: boolean) + +_Default:_ `false` + +Specify if hidden files should appear in the completion menu without the need of typing `.` first. diff --git a/lua/cmp_async_path/init.lua b/lua/cmp_async_path/init.lua index 370bdb8..107a8b6 100644 --- a/lua/cmp_async_path/init.lua +++ b/lua/cmp_async_path/init.lua @@ -12,6 +12,7 @@ local constants = {max_lines = 20} ---@field public trailing_slash boolean ---@field public label_trailing_slash boolean ---@field public get_cwd fun(table): string +---@field public show_hidden_files_by_default boolean ---@type cmp_path.Option local defaults = { @@ -20,6 +21,7 @@ local defaults = { get_cwd = function(params) return vim.fn.expand(('#%d:p:h'):format(params.context.bufnr)) end, + show_hidden_files_by_default = false, } source.new = function() return setmetatable({}, {__index = source}) end @@ -36,8 +38,8 @@ source.complete = function(self, params, callback) return callback() end - local include_hidden = string.sub(params.context.cursor_before_line, - params.offset, params.offset) == '.' + local include_hidden = option.show_hidden_files_by_default or + string.sub(params.context.cursor_before_line, params.offset, params.offset) == '.' self:_candidates(dirname, include_hidden, option, function(err, candidates) if err then return callback() @@ -211,6 +213,7 @@ source._validate_option = function(_, params) trailing_slash = {option.trailing_slash, 'boolean'}, label_trailing_slash = {option.label_trailing_slash, 'boolean'}, get_cwd = {option.get_cwd, 'function'}, + show_hidden_files_by_default = {option.show_hidden_files_by_default, 'boolean'}, }) return option end