diff options
| author | fdschmidt93 <39233597+fdschmidt93@users.noreply.github.com> | 2022-05-09 11:43:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-09 11:43:22 +0200 |
| commit | 795a63ed293ba249a588e9e67aa1f2cec82028e8 (patch) | |
| tree | 66f6660a1d5d0031ad6e0a84258604bb43254926 /lua | |
| parent | 85239d9c3e0f0eaa728eb2369ef66c4a79fd997b (diff) | |
feat(docs): simplified architecture flow chart (#1925)
`:h telescope.nvim` now shows an overview of the telescope architecture
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/telescope/init.lua | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/lua/telescope/init.lua b/lua/telescope/init.lua index 35577a8..0cc2009 100644 --- a/lua/telescope/init.lua +++ b/lua/telescope/init.lua @@ -21,6 +21,54 @@ local telescope = {} --- 5. Read |telescope.builtin| to check which builtin pickers are offered and what options these implement --- 6. Profit --- +--- The below flow chart illustrates a simplified telescope architecture: +--- <pre> +--- ┌───────────────────────────────────────────────────────────┐ +--- │ ┌────────┐ │ +--- │ │ Multi │ ┌───────+ │ +--- │ │ Select │ ┌───────┐ │ Entry │ │ +--- │ └─────┬──* │ Entry │ ┌────────+ │ Maker │ │ +--- │ │ ┌───│Manager│────│ Sorter │┐ └───┬───* │ +--- │ ▼ ▼ └───────* └────────┘│ │ │ +--- │ 1────────┐ 2───┴──┐ │ │ +--- │ ┌─────│ Picker │ │Finder│◄────┘ │ +--- │ ▼ └───┬────┘ └──────* │ +--- │ ┌────────┐ │ 3────────+ ▲ │ +--- │ │Selected│ └───────│ Prompt │─────────┘ │ +--- │ │ Entry │ └───┬────┘ │ +--- │ └────────* ┌───┴────┐ ┌────────┐ ┌────────┐ │ +--- │ │ ▲ 4─────────┐│ Prompt │ │(Attach)│ │Actions │ │ +--- │ ▼ └──► │ Results ││ Buffer │◄─┤Mappings│◄─┤User Fn │ │ +--- │5─────────┐ └─────────┘└────────┘ └────────┘ └────────┘ │ +--- ││Previewer│ │ +--- │└─────────┘ telescope.nvim architecture │ +--- └───────────────────────────────────────────────────────────┘ +--- +--- + The `Entry Maker` at least defines +--- - value: "raw" result of the finder +--- - ordinal: string to be sorted derived from value +--- - display: line representation of entry in results buffer +--- +--- * The finder, entry manager, selected entry, and multi selections +--- comprises `entries` constructed by the `Entry Maker` from +--- raw results of the finder (`value`s) +--- +--- Primary components: +--- 1 Picker: central UI dedicated to varying use cases +--- (finding files, grepping, diagnostics, etc.) +--- see :h telescope.builtin +--- 2 Finder: pipe or interactively generates results to pick over +--- 3 Prompt: user input that triggers the finder which sorts results +--- in order into the entry manager +--- 4 Results: listed entries scored by sorter from finder results +--- 5 Previewer: preview of context of selected entry +--- see :h telescope.previewers +--- </pre> +--- +--- A practical introduction into telescope customization is our +--- `developers.md` (top-level of repo) and `:h telescope.actions` that +--- showcase how to access information about the state of the picker (current +--- selection, etc.). --- <pre> --- To find out more: --- https://github.com/nvim-telescope/telescope.nvim @@ -36,8 +84,8 @@ local telescope = {} --- :h telescope.actions.set --- :h telescope.actions.utils --- :h telescope.actions.generate ---- :h telescope.previewers --- :h telescope.actions.history +--- :h telescope.previewers --- </pre> ---@brief ]] |
