perf: load builtin submodules when a picker is invoked (#1191)

* Defer requiring submodules to when a builtin picker is actually invoked
This commit is contained in:
Dhruv Manilawala
2021-09-09 20:58:25 +05:30
committed by GitHub
parent 288f243387
commit 0cb1026b9e

View File

@@ -60,6 +60,17 @@ end
local builtin = {} local builtin = {}
-- Ref: https://github.com/tjdevries/lazy.nvim
local function require_on_exported_call(mod)
return setmetatable({}, {
__index = function(_, picker)
return function(...)
return require(mod)[picker](...)
end
end,
})
end
-- --
-- --
-- File-related Pickers -- File-related Pickers
@@ -72,7 +83,7 @@ local builtin = {}
---@field grep_open_files boolean: if true, restrict search to open files only, mutually exclusive with `search_dirs` ---@field grep_open_files boolean: if true, restrict search to open files only, mutually exclusive with `search_dirs`
---@field search_dirs table: directory/directories to search in, mutually exclusive with `grep_open_files` ---@field search_dirs table: directory/directories to search in, mutually exclusive with `grep_open_files`
---@field additional_args function: function(opts) which returns a table of additional arguments to be passed on ---@field additional_args function: function(opts) which returns a table of additional arguments to be passed on
builtin.live_grep = require("telescope.builtin.files").live_grep builtin.live_grep = require_on_exported_call("telescope.builtin.files").live_grep
--- Searches for the string under your cursor in your current working directory --- Searches for the string under your cursor in your current working directory
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
@@ -81,7 +92,7 @@ builtin.live_grep = require("telescope.builtin.files").live_grep
---@field search_dirs table: directory/directories to search in ---@field search_dirs table: directory/directories to search in
---@field use_regex boolean: if true, special characters won't be escaped, allows for using regex (default is false) ---@field use_regex boolean: if true, special characters won't be escaped, allows for using regex (default is false)
---@field additional_args function: function(opts) which returns a table of additional arguments to be passed on ---@field additional_args function: function(opts) which returns a table of additional arguments to be passed on
builtin.grep_string = require("telescope.builtin.files").grep_string builtin.grep_string = require_on_exported_call("telescope.builtin.files").grep_string
--- Search for files (respecting .gitignore) --- Search for files (respecting .gitignore)
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
@@ -91,7 +102,7 @@ builtin.grep_string = require("telescope.builtin.files").grep_string
---@field hidden boolean: determines whether to show hidden files or not (default is false) ---@field hidden boolean: determines whether to show hidden files or not (default is false)
---@field no_ignore boolean: show files ignored by .gitignore, .ignore, etc. (default is false) ---@field no_ignore boolean: show files ignored by .gitignore, .ignore, etc. (default is false)
---@field search_dirs table: directory/directories to search in ---@field search_dirs table: directory/directories to search in
builtin.find_files = require("telescope.builtin.files").find_files builtin.find_files = require_on_exported_call("telescope.builtin.files").find_files
--- This is an alias for the `find_files` picker --- This is an alias for the `find_files` picker
builtin.fd = builtin.find_files builtin.fd = builtin.find_files
@@ -109,28 +120,28 @@ builtin.fd = builtin.find_files
---@field depth number: file tree depth to display (default is 1) ---@field depth number: file tree depth to display (default is 1)
---@field dir_icon string: change the icon for a directory. default:  ---@field dir_icon string: change the icon for a directory. default: 
---@field hidden boolean: determines whether to show hidden files or not (default is false) ---@field hidden boolean: determines whether to show hidden files or not (default is false)
builtin.file_browser = require("telescope.builtin.files").file_browser builtin.file_browser = require_on_exported_call("telescope.builtin.files").file_browser
--- Lists function names, variables, and other symbols from treesitter queries --- Lists function names, variables, and other symbols from treesitter queries
--- - Default keymaps: --- - Default keymaps:
--- - `<C-l>`: show autocompletion menu to prefilter your query by kind of ts node you want to see (i.e. `:var:`) --- - `<C-l>`: show autocompletion menu to prefilter your query by kind of ts node you want to see (i.e. `:var:`)
---@field show_line boolean: if true, shows the row:column that the result is found at (default is true) ---@field show_line boolean: if true, shows the row:column that the result is found at (default is true)
builtin.treesitter = require("telescope.builtin.files").treesitter builtin.treesitter = require_on_exported_call("telescope.builtin.files").treesitter
--- Live fuzzy search inside of the currently open buffer --- Live fuzzy search inside of the currently open buffer
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.current_buffer_fuzzy_find = require("telescope.builtin.files").current_buffer_fuzzy_find builtin.current_buffer_fuzzy_find = require_on_exported_call("telescope.builtin.files").current_buffer_fuzzy_find
--- Lists tags in current directory with tag location file preview (users are required to run ctags -R to generate tags --- Lists tags in current directory with tag location file preview (users are required to run ctags -R to generate tags
--- or update when introducing new changes) --- or update when introducing new changes)
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field ctags_file string: specify a particular ctags file to use ---@field ctags_file string: specify a particular ctags file to use
---@field show_line boolean: if true, shows the content of the line the tag is found on in the picker (default is true) ---@field show_line boolean: if true, shows the content of the line the tag is found on in the picker (default is true)
builtin.tags = require("telescope.builtin.files").tags builtin.tags = require_on_exported_call("telescope.builtin.files").tags
--- Lists all of the tags for the currently open buffer, with a preview --- Lists all of the tags for the currently open buffer, with a preview
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.current_buffer_tags = require("telescope.builtin.files").current_buffer_tags builtin.current_buffer_tags = require_on_exported_call("telescope.builtin.files").current_buffer_tags
-- --
-- --
@@ -145,7 +156,7 @@ builtin.current_buffer_tags = require("telescope.builtin.files").current_buffer_
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field show_untracked boolean: if true, adds `--others` flag to command and shows untracked files (default is true) ---@field show_untracked boolean: if true, adds `--others` flag to command and shows untracked files (default is true)
---@field recurse_submodules boolean: if true, adds the `--recurse-submodules` flag to command (default is false) ---@field recurse_submodules boolean: if true, adds the `--recurse-submodules` flag to command (default is false)
builtin.git_files = require("telescope.builtin.git").files builtin.git_files = require_on_exported_call("telescope.builtin.git").files
--- Lists commits for current directory with diff preview --- Lists commits for current directory with diff preview
--- - Default keymaps: --- - Default keymaps:
@@ -155,7 +166,7 @@ builtin.git_files = require("telescope.builtin.git").files
--- - `<C-r>h`: resets current branch to selected commit using hard mode --- - `<C-r>h`: resets current branch to selected commit using hard mode
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field cwd string: specify the path of the repo ---@field cwd string: specify the path of the repo
builtin.git_commits = require("telescope.builtin.git").commits builtin.git_commits = require_on_exported_call("telescope.builtin.git").commits
--- Lists commits for current buffer with diff preview --- Lists commits for current buffer with diff preview
--- - Default keymaps or your overriden `select_` keys: --- - Default keymaps or your overriden `select_` keys:
@@ -166,7 +177,7 @@ builtin.git_commits = require("telescope.builtin.git").commits
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field cwd string: specify the path of the repo ---@field cwd string: specify the path of the repo
---@field current_file string: specify the current file that should be used for bcommits (default: current buffer) ---@field current_file string: specify the current file that should be used for bcommits (default: current buffer)
builtin.git_bcommits = require("telescope.builtin.git").bcommits builtin.git_bcommits = require_on_exported_call("telescope.builtin.git").bcommits
--- List branches for current directory, with output from `git log --oneline` shown in the preview window --- List branches for current directory, with output from `git log --oneline` shown in the preview window
--- - Default keymaps: --- - Default keymaps:
@@ -176,20 +187,20 @@ builtin.git_bcommits = require("telescope.builtin.git").bcommits
--- - `<C-a>`: creates a new branch, with confirmation prompt before creation --- - `<C-a>`: creates a new branch, with confirmation prompt before creation
--- - `<C-d>`: deletes the currently selected branch, with confirmation prompt before deletion --- - `<C-d>`: deletes the currently selected branch, with confirmation prompt before deletion
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.git_branches = require("telescope.builtin.git").branches builtin.git_branches = require_on_exported_call("telescope.builtin.git").branches
--- Lists git status for current directory --- Lists git status for current directory
--- - Default keymaps: --- - Default keymaps:
--- - `<Tab>`: stages or unstages the currently selected file --- - `<Tab>`: stages or unstages the currently selected file
--- - `<cr>`: opens the currently selected file --- - `<cr>`: opens the currently selected file
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.git_status = require("telescope.builtin.git").status builtin.git_status = require_on_exported_call("telescope.builtin.git").status
--- Lists stash items in current repository --- Lists stash items in current repository
--- - Default keymaps: --- - Default keymaps:
--- - `<cr>`: runs `git apply` for currently selected stash --- - `<cr>`: runs `git apply` for currently selected stash
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.git_stash = require("telescope.builtin.git").stash builtin.git_stash = require_on_exported_call("telescope.builtin.git").stash
-- --
-- --
@@ -199,11 +210,11 @@ builtin.git_stash = require("telescope.builtin.git").stash
--- Lists all of the community maintained pickers built into Telescope --- Lists all of the community maintained pickers built into Telescope
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.builtin = require("telescope.builtin.internal").builtin builtin.builtin = require_on_exported_call("telescope.builtin.internal").builtin
--- Use the telescope... --- Use the telescope...
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.planets = require("telescope.builtin.internal").planets builtin.planets = require_on_exported_call("telescope.builtin.internal").planets
--- Lists symbols inside of `data/telescope-sources/*.json` found in your runtime path --- Lists symbols inside of `data/telescope-sources/*.json` found in your runtime path
--- or found in `stdpath("data")/telescope/symbols/*.json`. The second path can be customized. --- or found in `stdpath("data")/telescope/symbols/*.json`. The second path can be customized.
@@ -213,42 +224,42 @@ builtin.planets = require("telescope.builtin.internal").planets
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field symbol_path string: specify the second path. Default: `stdpath("data")/telescope/symbols/*.json` ---@field symbol_path string: specify the second path. Default: `stdpath("data")/telescope/symbols/*.json`
---@field sources table: specify a table of sources you want to load this time ---@field sources table: specify a table of sources you want to load this time
builtin.symbols = require("telescope.builtin.internal").symbols builtin.symbols = require_on_exported_call("telescope.builtin.internal").symbols
--- Lists available plugin/user commands and runs them on `<cr>` --- Lists available plugin/user commands and runs them on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.commands = require("telescope.builtin.internal").commands builtin.commands = require_on_exported_call("telescope.builtin.internal").commands
--- Lists items in the quickfix list, jumps to location on `<cr>` --- Lists items in the quickfix list, jumps to location on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.quickfix = require("telescope.builtin.internal").quickfix builtin.quickfix = require_on_exported_call("telescope.builtin.internal").quickfix
--- Lists items from the current window's location list, jumps to location on `<cr>` --- Lists items from the current window's location list, jumps to location on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.loclist = require("telescope.builtin.internal").loclist builtin.loclist = require_on_exported_call("telescope.builtin.internal").loclist
--- Lists previously open files, opens on `<cr>` --- Lists previously open files, opens on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.oldfiles = require("telescope.builtin.internal").oldfiles builtin.oldfiles = require_on_exported_call("telescope.builtin.internal").oldfiles
--- Lists commands that were executed recently, and reruns them on `<cr>` --- Lists commands that were executed recently, and reruns them on `<cr>`
--- - Default keymaps: --- - Default keymaps:
--- - `<C-e>`: open the command line with the text of the currently selected result populated in it --- - `<C-e>`: open the command line with the text of the currently selected result populated in it
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.command_history = require("telescope.builtin.internal").command_history builtin.command_history = require_on_exported_call("telescope.builtin.internal").command_history
--- Lists searches that were executed recently, and reruns them on `<cr>` --- Lists searches that were executed recently, and reruns them on `<cr>`
--- - Default keymaps: --- - Default keymaps:
--- - `<C-e>`: open a search window with the text of the currently selected search result populated in it --- - `<C-e>`: open a search window with the text of the currently selected search result populated in it
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.search_history = require("telescope.builtin.internal").search_history builtin.search_history = require_on_exported_call("telescope.builtin.internal").search_history
--- Opens the previous picker in the identical state (incl. multi selections) --- Opens the previous picker in the identical state (incl. multi selections)
--- - Notes: --- - Notes:
--- - Requires `cache_picker` in setup or when having invoked pickers, see |telescope.defaults.cache_picker| --- - Requires `cache_picker` in setup or when having invoked pickers, see |telescope.defaults.cache_picker|
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field cache_index number: what picker to resume, where 1 denotes most recent (default 1) ---@field cache_index number: what picker to resume, where 1 denotes most recent (default 1)
builtin.resume = require("telescope.builtin.internal").resume builtin.resume = require_on_exported_call("telescope.builtin.internal").resume
--- Opens a picker over previously cached pickers in there preserved states (incl. multi selections) --- Opens a picker over previously cached pickers in there preserved states (incl. multi selections)
--- - Default keymaps: --- - Default keymaps:
@@ -256,24 +267,24 @@ builtin.resume = require("telescope.builtin.internal").resume
--- - Notes: --- - Notes:
--- - Requires `cache_picker` in setup or when having invoked pickers, see |telescope.defaults.cache_picker| --- - Requires `cache_picker` in setup or when having invoked pickers, see |telescope.defaults.cache_picker|
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.pickers = require("telescope.builtin.internal").pickers builtin.pickers = require_on_exported_call("telescope.builtin.internal").pickers
--- Lists vim options, allows you to edit the current value on `<cr>` --- Lists vim options, allows you to edit the current value on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.vim_options = require("telescope.builtin.internal").vim_options builtin.vim_options = require_on_exported_call("telescope.builtin.internal").vim_options
--- Lists available help tags and opens a new window with the relevant help info on `<cr>` --- Lists available help tags and opens a new window with the relevant help info on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.help_tags = require("telescope.builtin.internal").help_tags builtin.help_tags = require_on_exported_call("telescope.builtin.internal").help_tags
--- Lists manpage entries, opens them in a help window on `<cr>` --- Lists manpage entries, opens them in a help window on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field sections table: a list of sections to search, use `{ "ALL" }` to search in all sections ---@field sections table: a list of sections to search, use `{ "ALL" }` to search in all sections
builtin.man_pages = require("telescope.builtin.internal").man_pages builtin.man_pages = require_on_exported_call("telescope.builtin.internal").man_pages
--- Lists lua modules and reloads them on `<cr>` --- Lists lua modules and reloads them on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.reloader = require("telescope.builtin.internal").reloader builtin.reloader = require_on_exported_call("telescope.builtin.internal").reloader
--- Lists open buffers in current neovim instance, opens selected buffer on `<cr>` --- Lists open buffers in current neovim instance, opens selected buffer on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
@@ -283,50 +294,50 @@ builtin.reloader = require("telescope.builtin.internal").reloader
---@field sort_lastused boolean: Sorts current and last buffer to the top and selects the lastused (default false) ---@field sort_lastused boolean: Sorts current and last buffer to the top and selects the lastused (default false)
---@field sort_mru boolean: Sorts all buffers after most recent used. Not just the current and last one (default false) ---@field sort_mru boolean: Sorts all buffers after most recent used. Not just the current and last one (default false)
---@field bufnr_width number: Defines the width of the buffer numbers in front of the filenames ---@field bufnr_width number: Defines the width of the buffer numbers in front of the filenames
builtin.buffers = require("telescope.builtin.internal").buffers builtin.buffers = require_on_exported_call("telescope.builtin.internal").buffers
--- Lists available colorschemes and applies them on `<cr>` --- Lists available colorschemes and applies them on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field enable_preview boolean: if true, will preview the selected color ---@field enable_preview boolean: if true, will preview the selected color
builtin.colorscheme = require("telescope.builtin.internal").colorscheme builtin.colorscheme = require_on_exported_call("telescope.builtin.internal").colorscheme
--- Lists vim marks and their value, jumps to the mark on `<cr>` --- Lists vim marks and their value, jumps to the mark on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.marks = require("telescope.builtin.internal").marks builtin.marks = require_on_exported_call("telescope.builtin.internal").marks
--- Lists vim registers, pastes the contents of the register on `<cr>` --- Lists vim registers, pastes the contents of the register on `<cr>`
--- - Default keymaps: --- - Default keymaps:
--- - `<C-e>`: edit the contents of the currently selected register --- - `<C-e>`: edit the contents of the currently selected register
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.registers = require("telescope.builtin.internal").registers builtin.registers = require_on_exported_call("telescope.builtin.internal").registers
--- Lists normal mode keymappings, runs the selected keymap on `<cr>` --- Lists normal mode keymappings, runs the selected keymap on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.keymaps = require("telescope.builtin.internal").keymaps builtin.keymaps = require_on_exported_call("telescope.builtin.internal").keymaps
--- Lists all available filetypes, sets currently open buffer's filetype to selected filetype in Telescope on `<cr>` --- Lists all available filetypes, sets currently open buffer's filetype to selected filetype in Telescope on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.filetypes = require("telescope.builtin.internal").filetypes builtin.filetypes = require_on_exported_call("telescope.builtin.internal").filetypes
--- Lists all available highlights --- Lists all available highlights
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.highlights = require("telescope.builtin.internal").highlights builtin.highlights = require_on_exported_call("telescope.builtin.internal").highlights
--- Lists vim autocommands and goes to their declaration on `<cr>` --- Lists vim autocommands and goes to their declaration on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.autocommands = require("telescope.builtin.internal").autocommands builtin.autocommands = require_on_exported_call("telescope.builtin.internal").autocommands
--- Lists spelling suggestions for the current word under the cursor, replaces word with selected suggestion on `<cr>` --- Lists spelling suggestions for the current word under the cursor, replaces word with selected suggestion on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.spell_suggest = require("telescope.builtin.internal").spell_suggest builtin.spell_suggest = require_on_exported_call("telescope.builtin.internal").spell_suggest
--- Lists the tag stack for the current window, jumps to tag on `<cr>` --- Lists the tag stack for the current window, jumps to tag on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.tagstack = require("telescope.builtin.internal").tagstack builtin.tagstack = require_on_exported_call("telescope.builtin.internal").tagstack
--- Lists items from Vim's jumplist, jumps to location on `<cr>` --- Lists items from Vim's jumplist, jumps to location on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.jumplist = require("telescope.builtin.internal").jumplist builtin.jumplist = require_on_exported_call("telescope.builtin.internal").jumplist
-- --
-- --
@@ -336,25 +347,25 @@ builtin.jumplist = require("telescope.builtin.internal").jumplist
--- Lists LSP references for word under the cursor, jumps to reference on `<cr>` --- Lists LSP references for word under the cursor, jumps to reference on `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.lsp_references = require("telescope.builtin.lsp").references builtin.lsp_references = require_on_exported_call("telescope.builtin.lsp").references
--- Goto the definition of the word under the cursor, if there's only one, otherwise show all options in Telescope --- Goto the definition of the word under the cursor, if there's only one, otherwise show all options in Telescope
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field jump_type string: how to goto definition if there is only one, values: "tab", "split", "vsplit", "never" ---@field jump_type string: how to goto definition if there is only one, values: "tab", "split", "vsplit", "never"
builtin.lsp_definitions = require("telescope.builtin.lsp").definitions builtin.lsp_definitions = require_on_exported_call("telescope.builtin.lsp").definitions
--- Goto the implementation of the word under the cursor if there's only one, otherwise show all options in Telescope --- Goto the implementation of the word under the cursor if there's only one, otherwise show all options in Telescope
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field jump_type string: how to goto implementation if there is only one, values: "tab", "split", "vsplit", "never" ---@field jump_type string: how to goto implementation if there is only one, values: "tab", "split", "vsplit", "never"
builtin.lsp_implementations = require("telescope.builtin.lsp").implementations builtin.lsp_implementations = require_on_exported_call("telescope.builtin.lsp").implementations
--- Lists any LSP actions for the word under the cursor which can be triggered with `<cr>` --- Lists any LSP actions for the word under the cursor which can be triggered with `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.lsp_code_actions = require("telescope.builtin.lsp").code_actions builtin.lsp_code_actions = require_on_exported_call("telescope.builtin.lsp").code_actions
--- Lists any LSP actions for a given range, that can be triggered with `<cr>` --- Lists any LSP actions for a given range, that can be triggered with `<cr>`
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.lsp_range_code_actions = require("telescope.builtin.lsp").range_code_actions builtin.lsp_range_code_actions = require_on_exported_call("telescope.builtin.lsp").range_code_actions
--- Lists LSP document symbols in the current buffer --- Lists LSP document symbols in the current buffer
--- - Default keymaps: --- - Default keymaps:
@@ -362,7 +373,7 @@ builtin.lsp_range_code_actions = require("telescope.builtin.lsp").range_code_act
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field ignore_filename type: string with file to ignore ---@field ignore_filename type: string with file to ignore
---@field symbols string|table: filter results by symbol kind(s) ---@field symbols string|table: filter results by symbol kind(s)
builtin.lsp_document_symbols = require("telescope.builtin.lsp").document_symbols builtin.lsp_document_symbols = require_on_exported_call("telescope.builtin.lsp").document_symbols
--- Lists LSP document symbols in the current workspace --- Lists LSP document symbols in the current workspace
--- - Default keymaps: --- - Default keymaps:
@@ -370,13 +381,13 @@ builtin.lsp_document_symbols = require("telescope.builtin.lsp").document_symbols
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
---@field ignore_filename string: file(s) to ignore ---@field ignore_filename string: file(s) to ignore
---@field symbols string|table: filter results by symbol kind(s) ---@field symbols string|table: filter results by symbol kind(s)
builtin.lsp_workspace_symbols = require("telescope.builtin.lsp").workspace_symbols builtin.lsp_workspace_symbols = require_on_exported_call("telescope.builtin.lsp").workspace_symbols
--- Dynamically lists LSP for all workspace symbols --- Dynamically lists LSP for all workspace symbols
--- - Default keymaps: --- - Default keymaps:
--- - `<C-l>`: show autocompletion menu to prefilter your query by type of symbol you want to see (i.e. `:variable:`) --- - `<C-l>`: show autocompletion menu to prefilter your query by type of symbol you want to see (i.e. `:variable:`)
---@param opts table: options to pass to the picker ---@param opts table: options to pass to the picker
builtin.lsp_dynamic_workspace_symbols = require("telescope.builtin.lsp").dynamic_workspace_symbols builtin.lsp_dynamic_workspace_symbols = require_on_exported_call("telescope.builtin.lsp").dynamic_workspace_symbols
--- Lists LSP diagnostics for the current buffer --- Lists LSP diagnostics for the current buffer
--- - Fields: --- - Fields:
@@ -389,7 +400,7 @@ builtin.lsp_dynamic_workspace_symbols = require("telescope.builtin.lsp").dynamic
---@field severity_bound string|number: keep diagnostics equal or less severe wrt severity name (string) or id (number) ---@field severity_bound string|number: keep diagnostics equal or less severe wrt severity name (string) or id (number)
---@field no_sign bool: hide LspDiagnosticSigns from Results (default is false) ---@field no_sign bool: hide LspDiagnosticSigns from Results (default is false)
---@field line_width number: set length of diagnostic entry text in Results ---@field line_width number: set length of diagnostic entry text in Results
builtin.lsp_document_diagnostics = require("telescope.builtin.lsp").diagnostics builtin.lsp_document_diagnostics = require_on_exported_call("telescope.builtin.lsp").diagnostics
--- Lists LSP diagnostics for the current workspace if supported, otherwise searches in all open buffers --- Lists LSP diagnostics for the current workspace if supported, otherwise searches in all open buffers
--- - Fields: --- - Fields:
@@ -402,7 +413,7 @@ builtin.lsp_document_diagnostics = require("telescope.builtin.lsp").diagnostics
---@field severity_bound string|number: keep diagnostics equal or less severe wrt severity name (string) or id (number) ---@field severity_bound string|number: keep diagnostics equal or less severe wrt severity name (string) or id (number)
---@field no_sign bool: hide LspDiagnosticSigns from Results (default is false) ---@field no_sign bool: hide LspDiagnosticSigns from Results (default is false)
---@field line_width number: set length of diagnostic entry text in Results ---@field line_width number: set length of diagnostic entry text in Results
builtin.lsp_workspace_diagnostics = require("telescope.builtin.lsp").workspace_diagnostics builtin.lsp_workspace_diagnostics = require_on_exported_call("telescope.builtin.lsp").workspace_diagnostics
local apply_config = function(mod) local apply_config = function(mod)
local pickers_conf = require("telescope.config").pickers local pickers_conf = require("telescope.config").pickers