fix!: register realpath for consistency (#240)

Now it uses realpath for registering and validating DB. This means, if you have entries that has filenames differing only for case, it can deal with them as they exist.

Before this, it has miscalculated scores for such cases. For example, in case you have `/path/to/foo.lua` and `/path/to/Foo.lua`, it registers entries for each file. Now it detects accurate filename for the specified one, and removes it in validation.

* test: separate logic for utils

* fix!: register realpath for consistency

* refactor: convert fs module from class

* refactor: move db initialization phase to start()

* fix: run database:start() truly asynchronously

* fix: call each functions with async wrapping

* refactor: add types for args in command

* fix: run register() synchronously

Because vim.api.nvim_* cannot be used in asynchronous functions.

* docs: add note for calling setup() twice

* fix: run non-fast logic on next tick
This commit is contained in:
JINNOUCHI Yasushi
2024-08-15 17:40:03 +09:00
committed by GitHub
parent 39f70a87a2
commit 58c0089414
17 changed files with 710 additions and 499 deletions

View File

@@ -326,14 +326,15 @@ This will be called by |telescope.nvim| for its initialization. You can also
call this to initialize this plugin separated from |telescope.nvim|'s
initialization phase.
This is useful when you want to load |telescope.nvim| lazily, but want to
This is useful when you want to load |telescope.nvim| lazily and want to
register opened files as soon as Neovim has started. Example configuration for
|lazy.nvim| is below.
>lua
{
"nvim-telescope/telescope-frecency.nvim",
main = "frecency",
---@type FrecencyOpts
-- `opts` property calls the plugin's setup() function.
-- In this case, this calls frecency.setup().
opts = {
db_safe_mode = false,
},
@@ -358,7 +359,10 @@ register opened files as soon as Neovim has started. Example configuration for
telescope.load_extension "frecency"
end,
},
<
This function does nothing when it is called for the second times and later.
If you want to set another configuration, use
|telescope-frecency-configuration-config.setup()|.
==============================================================================
CONFIGURATION *telescope-frecency-configuration*