master 5255aa27c422 cached
111 files
1.4 MB
644.7k tokens
1 requests
Download .txt
Showing preview only (1,475K chars total). Download the full file or copy to clipboard to get everything.
Repository: nvim-telescope/telescope.nvim
Branch: master
Commit: 5255aa27c422
Files: 111
Total size: 1.4 MB

Directory structure:
gitextract_nywbmm0h/

├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── ci.yml
│       ├── docgen.yml
│       ├── lint.yml
│       └── release.yml
├── .gitignore
├── .luacheckrc
├── .stylua.toml
├── CONTRIBUTING.md
├── LICENSE
├── Makefile
├── README.md
├── data/
│   └── memes/
│       └── planets/
│           ├── earth
│           ├── jupiter
│           ├── mars
│           ├── mercury
│           ├── moon
│           ├── neptune
│           ├── pluto
│           ├── saturn
│           ├── uranus
│           └── venus
├── developers.md
├── doc/
│   ├── secret.txt
│   ├── telescope.txt
│   └── telescope_changelog.txt
├── ftplugin/
│   ├── TelescopePrompt.lua
│   └── TelescopeResults.lua
├── lua/
│   ├── telescope/
│   │   ├── _.lua
│   │   ├── _extensions/
│   │   │   └── init.lua
│   │   ├── actions/
│   │   │   ├── generate.lua
│   │   │   ├── history.lua
│   │   │   ├── init.lua
│   │   │   ├── layout.lua
│   │   │   ├── mt.lua
│   │   │   ├── set.lua
│   │   │   ├── state.lua
│   │   │   └── utils.lua
│   │   ├── algos/
│   │   │   ├── fzy.lua
│   │   │   ├── linked_list.lua
│   │   │   └── string_distance.lua
│   │   ├── builtin/
│   │   │   ├── __diagnostics.lua
│   │   │   ├── __files.lua
│   │   │   ├── __git.lua
│   │   │   ├── __internal.lua
│   │   │   ├── __lsp.lua
│   │   │   └── init.lua
│   │   ├── command.lua
│   │   ├── config/
│   │   │   └── resolve.lua
│   │   ├── config.lua
│   │   ├── debounce.lua
│   │   ├── entry_manager.lua
│   │   ├── finders/
│   │   │   ├── async_job_finder.lua
│   │   │   ├── async_oneshot_finder.lua
│   │   │   └── async_static_finder.lua
│   │   ├── finders.lua
│   │   ├── from_entry.lua
│   │   ├── health.lua
│   │   ├── init.lua
│   │   ├── log.lua
│   │   ├── make_entry.lua
│   │   ├── mappings.lua
│   │   ├── operators.lua
│   │   ├── pickers/
│   │   │   ├── entry_display.lua
│   │   │   ├── highlights.lua
│   │   │   ├── layout.lua
│   │   │   ├── layout_strategies.lua
│   │   │   ├── multi.lua
│   │   │   ├── scroller.lua
│   │   │   └── window.lua
│   │   ├── pickers.lua
│   │   ├── previewers/
│   │   │   ├── buffer_previewer.lua
│   │   │   ├── init.lua
│   │   │   ├── previewer.lua
│   │   │   ├── term_previewer.lua
│   │   │   └── utils.lua
│   │   ├── sorters.lua
│   │   ├── state.lua
│   │   ├── testharness/
│   │   │   ├── helpers.lua
│   │   │   ├── init.lua
│   │   │   └── runner.lua
│   │   ├── themes.lua
│   │   └── utils.lua
│   └── tests/
│       ├── automated/
│       │   ├── action_spec.lua
│       │   ├── command_spec.lua
│       │   ├── entry_display_spec.lua
│       │   ├── entry_manager_spec.lua
│       │   ├── layout_strategies_spec.lua
│       │   ├── linked_list_spec.lua
│       │   ├── pickers/
│       │   │   ├── find_files_spec.lua
│       │   │   └── live_grep_spec.lua
│       │   ├── resolver_spec.lua
│       │   ├── scroller_spec.lua
│       │   ├── sorters_spec.lua
│       │   ├── telescope_spec.lua
│       │   └── utils_spec.lua
│       ├── fixtures/
│       │   ├── find_files/
│       │   │   ├── file_a.txt
│       │   │   └── file_abc.txt
│       │   └── live_grep/
│       │       └── a.txt
│       ├── helpers.lua
│       └── pickers/
│           ├── find_files__readme.lua
│           └── find_files__scrolling_descending_cycle.lua
├── plugin/
│   └── telescope.lua
├── scripts/
│   ├── gendocs.lua
│   └── minimal_init.vim
└── telescope.nvim-scm-1.rockspec

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/FUNDING.yml
================================================
github: [tjdevries, Conni2461, fdschmidt93, jamestrew]


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Report a problem with Telescope
labels: [bug]
body:
  - type: markdown
    attributes:
      value: |
        Before reporting: search [existing issues](https://github.com/nvim-telescope/telescope.nvim/issues) and make sure that both Telescope and its dependencies are updated to the latest version.
  - type: textarea
    attributes:
      label: "Description"
      description: "A short description of the problem you are reporting."
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Neovim version"
      description: "Output of `nvim --version`"
      render: markdown
      placeholder: |
        NVIM v0.6.0-dev+209-g0603eba6e
        Build type: Release
        LuaJIT 2.1.0-beta3
    validations:
      required: true
  - type: input
    attributes:
      label: "Operating system and version"
      placeholder: "macOS 11.5"
    validations:
      required: true
  - type: input
    attributes:
      label: "Telescope version / branch / rev"
      placeholder: "telescope 0.1.0"
    validations:
      required: true
  - type: textarea
    attributes:
      label: "checkhealth telescope"
      description: "Output of `:checkhealth telescope`"
      render: markdown
      placeholder: |
        health#telescope#check
        ========================================================================
        ## Checking for required plugins
          - OK: plenary installed.
          - OK: nvim-treesitter installed.

        ## Checking external dependencies
          - OK: rg: found ripgrep 13.0.0
          - OK: fd: found fd 8.2.1

        ## ===== Installed extensions =====
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Steps to reproduce"
      description: "Steps to reproduce using the minimal config provided below."
      placeholder: |
        1. `nvim -nu minimal.lua`
        2. ...
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Expected behavior"
      description: "A description of the behavior you expected:"
  - type: textarea
    attributes:
      label: "Actual behavior"
      description: "Observed behavior (may optionally include logs, images, or videos)."
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Minimal config"
      description: "Minimal(!) configuration necessary to reproduce the issue. Save this as `minimal.lua` and run with `nvim -nu minimal.lua`. If _absolutely_ necessary, add plugins and config options from your `init.lua` at the indicated lines."
      render: Lua
      value: |
        local root = vim.fn.fnamemodify("./.repro", ":p")

        -- set stdpaths to use .repro
        for _, name in ipairs { "config", "data", "state", "cache" } do
          vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
        end

        -- bootstrap lazy
        local lazypath = root .. "/plugins/lazy.nvim"
        if not vim.uv.fs_stat(lazypath) then
          vim.fn.system {
            "git",
            "clone",
            "--filter=blob:none",
            "https://github.com/folke/lazy.nvim.git",
            lazypath,
          }
        end
        vim.opt.runtimepath:prepend(lazypath)

        -- install plugins
        local plugins = {
          {
            "nvim-telescope/telescope.nvim",
            dependencies = {
              "nvim-lua/plenary.nvim",
            },
            config = function()
              -- ADD INIT.LUA SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
              require("telescope").setup {}
            end,
          },
        }

        require("lazy").setup(plugins, {
          root = root .. "/plugins",
        })
    validations:
      required: true


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
   - name: Question
     url: https://https://github.com/nvim-telescope/telescope.nvim/discussions
     about: Usage questions, support requests, and general discussions



================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
# Description

Please include a summary of the change and which issue is fixed. Please also
include relevant motivation and context

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list relevant details about your configuration

- [ ] Test A
- [ ] Test B

**Configuration**:
* Neovim version (nvim --version):
* Operating system and version:

# Checklist:

- [ ] My code follows the style guidelines of this project (stylua)
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation (lua annotations)


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    commit-message:
      prefix: "ci"


================================================
FILE: .github/workflows/ci.yml
================================================
name: Tests

on:
  push:
    branches:
      - "master"
  pull_request:
    branches:
      - "master"
  workflow_dispatch:

jobs:
  unit_tests:
    name: unit tests
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        rev: [nightly, stable, v0.10.4]
        include:
          - os: ubuntu-latest
            install-rg: sudo apt-get update && sudo apt-get install -y ripgrep
          - os: macos-latest
            install-rg: brew update && brew install ripgrep
          - os: windows-latest
            install-rg: choco install ripgrep

    steps:
      - uses: actions/checkout@v6

      - uses: rhysd/action-setup-vim@v1
        with:
          neovim: true
          version: ${{ matrix.rev }}

      - name: Prepare
        run: |
          ${{ matrix.install-rg }}
          rg --version

          git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ../plenary.nvim
          git clone --depth 1 https://github.com/nvim-tree/nvim-web-devicons ../nvim-web-devicons

      - name: Run tests
        run: |
          nvim --version
          make test


================================================
FILE: .github/workflows/docgen.yml
================================================
name: Generate docs

on:
  pull_request:
    branches:
      - master
  workflow_dispatch:

jobs:
  build-sources:
    name: Generate docs
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - os: ubuntu-latest
            url: https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
    steps:
      - uses: actions/checkout@v6
      - run: date +%F > todays-date
      - name: Restore cache for today's nightly.
        uses: actions/cache@v5
        with:
          path: _neovim
          key: ${{ runner.os }}-${{ matrix.url }}-${{ hashFiles('todays-date') }}

      - name: Prepare
        run: |
          test -d _neovim || {
            mkdir -p _neovim
            curl -sL ${{ matrix.url }} | tar xzf - --strip-components=1 -C "${PWD}/_neovim"
          }
          mkdir -p ~/.local/share/nvim/site/pack/vendor/start
          git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim
          git clone https://github.com/tjdevries/tree-sitter-lua ~/.local/share/nvim/site/pack/vendor/start/tree-sitter-lua
          ln -s $(pwd) ~/.local/share/nvim/site/pack/vendor/start

      - name: Build parser
        run: |
          # We have to build the parser every single time to keep up with parser changes
          cd ~/.local/share/nvim/site/pack/vendor/start/tree-sitter-lua
          git checkout 86f74dfb69c570f0749b241f8f5489f8f50adbea
          make dist
          cd -

      - name: Generating docs
        run: |
          export PATH="${PWD}/_neovim/bin:${PATH}"
          export VIM="${PWD}/_neovim/share/nvim/runtime"
          nvim --version
          make docgen

      # inspired by nvim-lspconfigs
      - name: Update documentation
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          COMMIT_MSG: |
            [docgen] Update doc/telescope.txt
            skip-checks: true
        run: |
          git config user.email "actions@github"
          git config user.name "Github Actions"
          git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
          git add doc/
          # Only commit and push if we have changes
          git diff --quiet && git diff --staged --quiet || (git commit -m "${COMMIT_MSG}"; git push origin HEAD:${GITHUB_REF})


================================================
FILE: .github/workflows/lint.yml
================================================
name: Linting and style checking

on:
  push:
    branches:
      - "master"
  pull_request:
    branches:
      - "master"
  workflow_dispatch:

jobs:
  luacheck:
    name: Luacheck
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Prepare
        run: |
          sudo apt-get update
          sudo apt-get install -y luarocks
          sudo luarocks install luacheck

      - name: Lint
        run: sudo make lint

  stylua:
    name: stylua
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: JohnnyMorganz/stylua-action@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          version: latest
          # CLI arguments
          args: --color always --check lua/


================================================
FILE: .github/workflows/release.yml
================================================
name: "release"
on:
  push:
    tags:
      - '*'
  workflow_dispatch:

jobs:
  luarocks-upload:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: LuaRocks Upload
        uses: lumen-oss/luarocks-tag-release@v7
        env:
          LUAROCKS_API_KEY: ${{ secrets.LUAROCKS_API_KEY }}
        with:
          summary: "Find, Filter, Preview, Pick. All lua, all the time."
          detailed_description: |
            A highly extendable fuzzy finder over lists.
            Built on the latest awesome features from neovim core.
            Telescope is centered around modularity, allowing for easy customization.
          dependencies: |
            plenary.nvim
          copy_directories: |
            doc
            ftplugin
            plugin
            scripts
            autoload
            data


================================================
FILE: .gitignore
================================================
build/
doc/tags

.luacheckcache


================================================
FILE: .luacheckrc
================================================
-- Rerun tests only if their modification time changed.
cache = true

std = luajit
codes = true

self = false

-- Glorious list of warnings: https://luacheck.readthedocs.io/en/stable/warnings.html
ignore = {
  "212", -- Unused argument, In the case of callback function, _arg_name is easier to understand than _, so this option is set to off.
  "122", -- Indirectly setting a readonly global
}

globals = {
  "_",
  "TelescopeGlobalState",
  "_TelescopeConfigurationValues",
  "_TelescopeConfigurationPickers",
}

-- Global objects defined by the C code
read_globals = {
  "vim",
}

files = {
  ["lua/telescope/builtin/init.lua"] = {
    ignore = {
      "631", -- allow line len > 120
    }
  },
}


================================================
FILE: .stylua.toml
================================================
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

Thanks for taking the time to submit code to Telescope if you're reading this!
We love having new contributors and love seeing the Neovim community come around this plugin and keep making it better.

At this time, we are content with the number and functionality of the pickers we offer built
in with Telescope and so we are currently not accepting new pickers
(see this [issue](https://github.com/nvim-telescope/telescope.nvim/issues/1228) for a discussion on this).

We are also conservative with integrating picker specific actions and features.
If you're still interested in filling a particular picker need, we encourage packaging it up as its own Telescope extension.
Read our [Bundling as extension](https://github.com/nvim-telescope/telescope.nvim/blob/master/developers.md#bundling-as-extension) guide here for more info on this.
See other Telescope extensions (and add yours) [here](https://github.com/nvim-telescope/telescope.nvim/wiki/Extensions).

That said, we welcome bug fixes, documentation improvements and non-picker specific features.
If you're submitting a new feature, it is a good idea to create an issue first to gauge interest and feasibility.

To learn how we go about writing documentation for this project, keep reading below!

## Documentation with treesitter

We are generating docs based on the tree sitter syntax tree. TJ wrote a grammar that includes the documentation in this syntax tree so we can do take this function header documentation and transform it into vim documentation. All documentation that is part of the returning module will be exported. For example:

```lua
local m = {}

--- Test Header
--@return 1: Returns always 1
function m.a() -- or m:a()
  return 1
end

--- Documentation
function m.__b() -- or m:__b()
  return 2
end

--- Documentation
local c = function()
  return 2
end

return m
```

This will export function `a` with header documentation and the return value. Module function `b` and local function `c` will not be exported.

For a more in-depth look at how to write documentation take a look at this guide: [how to](https://github.com/tjdevries/tree-sitter-lua/blob/master/HOWTO.md)
This guide contains all annotations and we will update it when we add new annotations.

## What is missing?

The docgen has some problems on which people can work. This would happen in [tree-sitter-lua](https://github.com/tjdevries/tree-sitter-lua) and documentation of some modules here.
I would suggest we are documenting lua/telescope/builtin/init.lua rather than the files itself. We can use that init.lua file as "header" file, so we are not cluttering the other files.
How to help out with documentation:

## Auto-updates from CI

The easy way would be:

- write some docs
- commit, push and create draft PR
- wait a minute until the CI generates a new commit with the changes
- Look at this commit and the changes
- Modify documentation until its perfect. You can do `git commit --amend` and `git push --force` to remove the github ci commit again

## Generate on your local machine

The other option would be setting up <https://github.com/tjdevries/tree-sitter-lua>

- Install Treesitter, either with package manager or with github release
- Install plugin as usual
- cd to plugin
- `mkdir -p build parser` sadly those don't exist
- `make build_parser`
- `ln -s ../build/parser.so parser/lua.so` We need the shared object in parser/ so it gets picked up by neovim. Either copy or symbolic link
- Make sure that nvim-treesitter lua parser is not installed and also delete the lua queries in that repository. `queries/lua/*`. If you are not doing that you will have a bad time!
- cd into this project
- Write doc
- Run `make docgen`
- Repeat last two steps


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2020-2021 nvim-telescope

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: Makefile
================================================
.PHONY: test lint docgen

test:
	nvim --headless --noplugin -u scripts/minimal_init.vim -c "PlenaryBustedDirectory lua/tests/automated/ { minimal_init = './scripts/minimal_init.vim' }"

lint:
	luacheck lua/telescope

docgen:
	nvim --headless --noplugin -u scripts/minimal_init.vim -c "luafile ./scripts/gendocs.lua" -c 'qa'


================================================
FILE: README.md
================================================
# telescope.nvim

[![LuaRocks](https://img.shields.io/luarocks/v/Conni2461/telescope.nvim?logo=lua&color=purple)](https://luarocks.org/modules/Conni2461/telescope.nvim)

Gaze deeply into unknown regions using the power of the moon.

## What Is Telescope?

`telescope.nvim` is a highly extendable fuzzy finder over lists. Built on the
latest awesome features from `neovim` core. Telescope is centered around
modularity, allowing for easy customization.

Community driven builtin [pickers](#pickers), [sorters](#sorters) and
[previewers](#previewers).

![Preview](https://i.imgur.com/TTTja6t.gif)
<sub>For more showcases of Telescope, please visit the [Showcase
section](https://github.com/nvim-telescope/telescope.nvim/wiki/Showcase) in the
Telescope Wiki</sub>

## Telescope Table of Contents

- [Getting Started](#getting-started)
- [Usage](#usage)
- [Customization](#customization)
- [Default Mappings](#default-mappings)
- [Pickers](#pickers)
- [Previewers](#previewers)
- [Sorters](#sorters)
- [Layout](#layout-display)
- [Themes](#themes)
- [Commands](#vim-commands)
- [Autocmds](#autocmds)
- [Extensions](#extensions)
- [API](#api)
- [Media](#media)
- [Contributing](#contributing)
- [Changelog](https://github.com/nvim-telescope/telescope.nvim/blob/master/doc/telescope_changelog.txt)

## Getting Started

This section should guide you to run your first builtin pickers.

[Neovim (>v0.10.4)](https://github.com/neovim/neovim/releases/tag/v0.10.4) or the
latest neovim nightly commit is required for `telescope.nvim` to work.
The neovim version also needs to be compiled with LuaJIT; PUC Lua is not fully supported,
both for performance reasons and because extensions may rely on FFI.

### Required dependencies

- [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) is required.

### Suggested dependencies

- [BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep) is required for
  `live_grep` and `grep_string` and is the first priority for `find_files`.

We also strongly suggest installing a native telescope sorter to significantly improve
sorting performance:
* [telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim)
or
* [telescope-fzy-native.nvim](https://github.com/nvim-telescope/telescope-fzy-native.nvim).
For more information and a performance benchmark take a look at the
[Extensions](https://github.com/nvim-telescope/telescope.nvim/wiki/Extensions)
wiki.

### Optional dependencies

- [sharkdp/fd](https://github.com/sharkdp/fd) (finder)
- [devicons](https://github.com/nvim-tree/nvim-web-devicons) (icons)

### Installation

We recommend pinning to the latest release
[tag](https://github.com/nvim-telescope/telescope.nvim/tags),
e.g. using [lazy.nvim](https://github.com/folke/lazy.nvim)

```lua
{
    'nvim-telescope/telescope.nvim', version = '*',
    dependencies = {
        'nvim-lua/plenary.nvim',
        -- optional but recommended
        { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
    }
}
```

### Checkhealth

Make sure you call `:checkhealth telescope` after installing telescope to ensure
everything is set up correctly.

After this setup you can continue reading here or switch to `:help telescope`
to get an understanding of how to use Telescope and how to configure it.

## Usage

Try the command `:Telescope find_files`
to see if `telescope.nvim` is installed correctly.

```lua
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
```

See [builtin pickers](#pickers) for a list of all builtin functions.

## Customization

This section should help you explore available options to configure and
customize your `telescope.nvim`.

Unlike most vim plugins, `telescope.nvim` can be customized by either applying
customizations globally, or individually per picker.

- **Global Customization** affecting all pickers can be done through the main
  `setup()` method (see defaults below)
- **Individual Customization** affecting a single picker by passing `opts` to
  builtin pickers (e.g. `builtin.find_files(opts)`) see
  [Configuration recipes](https://github.com/nvim-telescope/telescope.nvim/wiki/Configuration-Recipes)
  wiki page for ideas.

### Telescope setup structure

```lua
require('telescope').setup{
  defaults = {
    -- Default configuration for telescope goes here:
    -- config_key = value,
    mappings = {
      i = {
        -- map actions.which_key to <C-h> (default: <C-/>)
        -- actions.which_key shows the mappings for your picker,
        -- e.g. git_{create, delete, ...}_branch for the git_branches picker
        ["<C-h>"] = "which_key"
      }
    }
  },
  pickers = {
    -- Default configuration for builtin pickers goes here:
    -- picker_name = {
    --   picker_config_key = value,
    --   ...
    -- }
    -- Now the picker_config_key will be applied every time you call this
    -- builtin picker
  },
  extensions = {
    -- Your extension configuration goes here:
    -- extension_name = {
    --   extension_config_key = value,
    -- }
    -- please take a look at the readme of the extension you want to configure
  }
}
```

To look at what default configuration options exist please read: `:help
telescope.setup()`. For picker specific `opts` please read: `:help
telescope.builtin`.

To embed the above code snippet in a `.vim` file
(for example in `after/plugin/telescope.nvim.vim`),
wrap it in `lua << EOF code-snippet EOF`:

```lua
lua << EOF
require('telescope').setup{
  -- ...
}
EOF
```

## Default Mappings

Mappings are fully customizable.
Many familiar mapping patterns are set up as defaults.

| Mappings       | Action                                                    |
| -------------- | --------------------------------------------------------- |
| `<C-n>/<Down>` | Next item                                                 |
| `<C-p>/<Up>`   | Previous item                                             |
| `j/k`          | Next/previous (in normal mode)                            |
| `H/M/L`        | Select High/Middle/Low (in normal mode)                   |
| `gg/G`         | Select the first/last item (in normal mode)               |
| `<CR>`         | Confirm selection                                         |
| `<C-x>`        | Go to file selection as a split                           |
| `<C-v>`        | Go to file selection as a vsplit                          |
| `<C-t>`        | Go to a file in a new tab                                 |
| `<C-u>`        | Scroll up in preview window                               |
| `<C-d>`        | Scroll down in preview window                             |
| `<C-f>`        | Scroll left in preview window                             |
| `<C-k>`        | Scroll right in preview window                            |
| `<M-f>`        | Scroll left in results window                             |
| `<M-k>`        | Scroll right in results window                            |
| `<C-/>`        | Show mappings for picker actions (insert mode)            |
| `?`            | Show mappings for picker actions (normal mode)            |
| `<C-c>`        | Close telescope (insert mode)                             |
| `<Esc>`        | Close telescope (in normal mode)                          |
| `<Tab>`        | Toggle selection and move to next selection               |
| `<S-Tab>`      | Toggle selection and move to prev selection               |
| `<C-q>`        | Send all items not filtered to quickfixlist (qflist)      |
| `<M-q>`        | Send all selected items to qflist                         |
| `<C-r><C-w>`   | Insert cword in original window into prompt (insert mode) |
| `<C-r><C-a>`   | Insert cWORD in original window into prompt (insert mode) |
| `<C-r><C-f>`   | Insert cfile in original window into prompt (insert mode) |
| `<C-r><C-l>`   | Insert cline in original window into prompt (insert mode) |

To see the full list of mappings, check out `lua/telescope/mappings.lua` and the
`default_mappings` table.

**Tip**: you can use `<C-/>` and `?` in insert and normal mode, respectively, to show the actions mapped to your picker.

Much like [builtin pickers](#pickers), there are a number of
[actions](https://github.com/nvim-telescope/telescope.nvim/blob/master/lua/telescope/actions/init.lua)
you can pick from to remap your telescope buffer mappings, or create a new
custom action:

```lua
-- Built-in actions
local transform_mod = require('telescope.actions.mt').transform_mod

-- or create your custom action
local my_cool_custom_action = transform_mod({
  x = function(prompt_bufnr)
    print("This function ran after another action. Prompt_bufnr: " .. prompt_bufnr)
    -- Enter your function logic here. You can take inspiration from lua/telescope/actions.lua
  end,
})
```

To remap telescope mappings, please read `:help telescope.defaults.mappings`.
To do picker specific mappings, its suggested to do this with the `pickers`
table in `telescope.setup`. Each picker accepts a `mappings` table like its
explained in `:help telescope.defaults.mappings`.

## Pickers

Built-in functions. Ready to be bound to any key you like.

### File Pickers

| Functions             | Description                                                                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `builtin.find_files`  | Lists files in your current working directory, respects .gitignore                                                                                                       |
| `builtin.git_files`   | Fuzzy search through the output of `git ls-files` command, respects .gitignore                                                                                           |
| `builtin.grep_string` | Searches for the string under your cursor or selection in your current working directory                                                                                 |
| `builtin.live_grep`   | Search for a string in your current working directory and get results live as you type, respects .gitignore. (Requires [ripgrep](https://github.com/BurntSushi/ripgrep)) |

### Vim Pickers

| Functions                           | Description                                                                                                                                                 |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `builtin.buffers`                   | Lists open buffers in current neovim instance                                                                                                               |
| `builtin.oldfiles`                  | Lists previously open files                                                                                                                                 |
| `builtin.commands`                  | Lists available plugin/user commands and runs them on `<cr>`                                                                                                |
| `builtin.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) |
| `builtin.command_history`           | Lists commands that were executed recently, and reruns them on `<cr>`                                                                                       |
| `builtin.search_history`            | Lists searches that were executed recently, and reruns them on `<cr>`                                                                                       |
| `builtin.help_tags`                 | Lists available help tags and opens a new window with the relevant help info on `<cr>`                                                                      |
| `builtin.man_pages`                 | Lists manpage entries, opens them in a help window on `<cr>`                                                                                                |
| `builtin.marks`                     | Lists vim marks and their value                                                                                                                             |
| `builtin.colorscheme`               | Lists available colorschemes and applies them on `<cr>`                                                                                                     |
| `builtin.quickfix`                  | Lists items in the quickfix list                                                                                                                            |
| `builtin.quickfixhistory`           | Lists all quickfix lists in your history and open them with `builtin.quickfix` or quickfix window                                                           |
| `builtin.loclist`                   | Lists items from the current window's location list                                                                                                         |
| `builtin.jumplist`                  | Lists Jump List entries                                                                                                                                     |
| `builtin.vim_options`               | Lists vim options, allows you to edit the current value on `<cr>`                                                                                           |
| `builtin.registers`                 | Lists vim registers, pastes the contents of the register on `<cr>`                                                                                          |
| `builtin.autocommands`              | Lists vim autocommands and goes to their declaration on `<cr>`                                                                                              |
| `builtin.spell_suggest`             | Lists spelling suggestions for the current word under the cursor, replaces word with selected suggestion on `<cr>`                                          |
| `builtin.keymaps`                   | Lists normal mode keymappings                                                                                                                               |
| `builtin.filetypes`                 | Lists all available filetypes                                                                                                                               |
| `builtin.highlights`                | Lists all available highlights                                                                                                                              |
| `builtin.current_buffer_fuzzy_find` | Live fuzzy search inside of the currently open buffer                                                                                                       |
| `builtin.current_buffer_tags`       | Lists all of the tags for the currently open buffer, with a preview                                                                                         |
| `builtin.resume`                    | Lists the results incl. multi-selections of the previous picker                                                                                             |
| `builtin.pickers`                   | Lists the previous pickers incl. multi-selections (see `:h telescope.defaults.cache_picker`)                                                                |

### Neovim LSP Pickers

| Functions                               | Description                                                                                                                |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `builtin.lsp_references`                | Lists LSP references for word under the cursor                                                                             |
| `builtin.lsp_incoming_calls`            | Lists LSP incoming calls for word under the cursor                                                                         |
| `builtin.lsp_outgoing_calls`            | Lists LSP outgoing calls for word under the cursor                                                                         |
| `builtin.lsp_document_symbols`          | Lists LSP document symbols in the current buffer                                                                           |
| `builtin.lsp_workspace_symbols`         | Lists LSP document symbols in the current workspace                                                                        |
| `builtin.lsp_dynamic_workspace_symbols` | Dynamically Lists LSP for all workspace symbols                                                                            |
| `builtin.diagnostics`                   | Lists Diagnostics for all open buffers or a specific buffer. Use option `bufnr=0` for current buffer.                      |
| `builtin.lsp_implementations`           | Goto the implementation of the word under the cursor if there's only one, otherwise show all options in Telescope          |
| `builtin.lsp_definitions`               | Goto the definition of the word under the cursor, if there's only one, otherwise show all options in Telescope             |
| `builtin.lsp_type_definitions`          | Goto the definition of the type of the word under the cursor, if there's only one, otherwise show all options in Telescope |

### Git Pickers

| Functions                    | Description                                                                                                                                                                                           |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `builtin.git_commits`        | Lists git commits with diff preview, checkout action `<cr>`, reset mixed `<C-r>m`, reset soft `<C-r>s` and reset hard `<C-r>h`                                                                        |
| `builtin.git_bcommits`       | Lists buffer's git commits with diff preview and checks them out on `<cr>`                                                                                                                            |
| `builtin.git_bcommits_range` | Lists buffer's git commits in a range of lines. Use options `from` and `to` to specify the range. In visual mode, lists commits for the selected lines                                                |
| `builtin.git_branches`       | Lists all branches with log preview, checkout action `<cr>`, track action `<C-t>`, rebase action`<C-r>`, create action `<C-a>`, switch action `<C-s>`, delete action `<C-d>` and merge action `<C-y>` |
| `builtin.git_status`         | Lists current changes per file with diff preview and add action. (Multi-selection still WIP)                                                                                                          |
| `builtin.git_stash`          | Lists stash items in current repository with ability to apply them on `<cr>`                                                                                                                          |

### Treesitter Picker

| Functions            | Description                                       |
| -------------------- | ------------------------------------------------- |
| `builtin.treesitter` | Lists Function names, variables, ... using treesitter [`locals` queries](https://github.com/nvim-treesitter/nvim-treesitter/blob/main/CONTRIBUTING.md#locals) |

### Lists Picker

| Functions          | Description                                                                                                                                                                               |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `builtin.planets`  | Use the telescope...                                                                                                                                                                      |
| `builtin.builtin`  | Lists Built-in pickers and run them on `<cr>`.                                                                                                                                            |
| `builtin.reloader` | Lists Lua modules and reload them on `<cr>`.                                                                                                                                              |
| `builtin.symbols`  | Lists symbols inside a file `data/telescope-sources/*.json` found in your rtp. More info and symbol sources can be found [here](https://github.com/nvim-telescope/telescope-symbols.nvim) |

## Previewers

| Previewers                          | Description                                               |
| ----------------------------------- | --------------------------------------------------------- |
| `previewers.vim_buffer_cat.new`     | Default previewer for files. Uses vim buffers             |
| `previewers.vim_buffer_vimgrep.new` | Default previewer for grep and similar. Uses vim buffers  |
| `previewers.vim_buffer_qflist.new`  | Default previewer for qflist. Uses vim buffers            |
| `previewers.cat.new`                | Terminal previewer for files. Uses `cat`/`bat`            |
| `previewers.vimgrep.new`            | Terminal previewer for grep and similar. Uses `cat`/`bat` |
| `previewers.qflist.new`             | Terminal previewer for qflist. Uses `cat`/`bat`           |

The default previewers are from now on `vim_buffer_` previewers. They use vim
buffers for displaying files and use tree-sitter or regex for file highlighting.

These previewers are using `vim.filetype` to guess the filetype for the
selected file. The guessing is done by inspecting the filename, the head of the
file(shebang) and the tail of the file (modeline). If you have trouble with
filetype detection you should read `:help vim.filetype`.

We need to do it manually because we can't determine the filetype in the
traditional way: We don't do `bufload` and instead read the file asynchronously
with `vim.uv.fs_` and attach only a highlighter; otherwise the speed of the
previewer would slow down considerably.

If you want to configure the `vim_buffer_` previewer (e.g. you want the line to wrap), do this:

```lua
vim.api.nvim_create_autocmd("User", {
  pattern = "TelescopePreviewerLoaded",
  callback = function(args)
    if args.data.filetype ~= "help" then
      vim.wo.number = true
    elseif args.data.bufname:match("*.csv") then
      vim.wo.wrap = false
    end
  end,
})
```

A data field is passed to the callback, which contains the filetype and the buffer name.

```lua
{
  title: string, # preview window title
  filetype: string,
  bufname: string,
}
```

## Sorters

| Sorters                            | Description                                                     |
| ---------------------------------- | --------------------------------------------------------------- |
| `sorters.get_fuzzy_file`           | Telescope's default sorter for files                            |
| `sorters.get_generic_fuzzy_sorter` | Telescope's default sorter for everything else                  |
| `sorters.get_levenshtein_sorter`   | Using Levenshtein distance algorithm (don't use :D)             |
| `sorters.get_fzy_sorter`           | Using fzy algorithm                                             |
| `sorters.fuzzy_with_index_bias`    | Used to list stuff with consideration to when the item is added |

A `Sorter` is called by the `Picker` on each item returned by the `Finder`. It
returns a number, which is equivalent to the "distance" between the current
`prompt` and the `entry` returned by a `finder`.

## Layout (display)

Layout can be configured by choosing a specific `layout_strategy` and
specifying a particular `layout_config` for that strategy.
For more details on available strategies and configuration options,
see `:help telescope.layout`.

Some options for configuring sizes in layouts are "resolvable". This means that
they can take different forms, and will be interpreted differently according to
which form they take.
For example, if we wanted to set the `width` of a picker using the `vertical`
layout strategy to 50% of the screen width, we would specify that width
as `0.5`, but if we wanted to specify the `width` to be exactly 80
characters wide, we would specify it as `80`.
For more details on resolving sizes, see `:help telescope.resolve`.

As an example, if we wanted to specify the layout strategy and width,
but only for this instance, we could do something like:

```lua
require('telescope.builtin').find_files({layout_strategy='vertical',layout_config={width=0.5}})
```

If we wanted to change the width for every time we use the `vertical`
layout strategy, we could add the following to our `setup()` call:

```lua
require('telescope').setup({
  defaults = {
    layout_config = {
      vertical = { width = 0.5 }
      -- other layout configuration here
    },
    -- other defaults configuration here
  },
  -- other configuration values here
})
```

## Themes

Common groups of settings can be set up to allow for themes.
We have some built in themes but are looking for more cool options.

![dropdown](https://i.imgur.com/SorAcXv.png)

| Themes                | Description                                                                                 |
| --------------------- | ------------------------------------------------------------------------------------------- |
| `themes.get_dropdown` | A list like centered list. [dropdown](https://i.imgur.com/SorAcXv.png)                      |
| `themes.get_cursor`   | [A cursor relative list.](https://github.com/nvim-telescope/telescope.nvim/pull/878)        |
| `themes.get_ivy`      | Bottom panel overlay. [Ivy #771](https://github.com/nvim-telescope/telescope.nvim/pull/771) |

To use a theme, simply append it to a builtin function:

```vim
nnoremap <Leader>f :lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({}))<cr>
" Change an option
nnoremap <Leader>f :lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ winblend = 10 }))<cr>
```

Or use with a command:

```vim
Telescope find_files theme=dropdown
```

Or you can configure it in the pickers table in `telescope.setup`:

```lua
require('telescope').setup{
  defaults = {
    -- ...
  },
  pickers = {
    find_files = {
      theme = "dropdown",
    }
  },
  extensions = {
    -- ...
  }
}
```

Themes should work with every `telescope.builtin` function. If you wish to make
a theme, check out `lua/telescope/themes.lua`.

## Vim Commands

All `telescope.nvim` functions are wrapped in `vim` commands for easy access,
tab completions and setting options.

```vim
" Show all builtin pickers
:Telescope

" Tab completion
:Telescope |<tab>
:Telescope find_files

" Setting options
:Telescope find_files prompt_prefix=🔍

" If the option accepts a Lua table as its value, you can use, to connect each
" command string, e.g.: find_command, vimgrep_arguments are both options that
" accept a Lua table as a value. So, you can configure them on the command line
"like so:
:Telescope find_files find_command=rg,--ignore,--hidden,--files prompt_prefix=🔍
```

for more information and how to realize more complex commands please read
`:help telescope.command`.

## Autocmds

Telescope user autocmds:

| Event                           | Description                                             |
| ------------------------------- | ------------------------------------------------------- |
| `User TelescopeFindPre`         | Do it before Telescope creates all the floating windows |
| `User TelescopePreviewerLoaded` | Do it after Telescope previewer window is created       |
| `User TelescopeResumePost`      | Do it after Telescope resume action is fully completed  |

## Extensions

Telescope provides the capabilities to create & register extensions, which
improves telescope in a variety of ways.

Some extensions provide integration with external tools, outside of the scope of
`builtins`. Others provide performance enhancements by using compiled C and
interfacing directly with Lua over LuaJIT's FFI library.

A list of community extensions can be found in the
[Extensions](https://github.com/nvim-telescope/telescope.nvim/wiki/Extensions)
wiki. Always read the README of the extension you want to install, but here is a
general overview of how most extensions work.

### Loading extensions

To load an extension, use the `load_extension` function as shown in the example
below:

```lua
-- This will load fzy_native and have it override the default file sorter
require('telescope').load_extension('fzy_native')
```

You may skip explicitly loading extensions (they will then be lazy-loaded), but
tab completions will not be available right away.

### Accessing pickers from extensions

Pickers from extensions are added to the `:Telescope` command under their
respective name. For example:

```vim
" Run the `configurations` picker from nvim-dap
Telescope dap configurations
```

They can also be called directly from Lua:

```lua
-- Run the `configurations` picker from nvim-dap
require('telescope').extensions.dap.configurations()
```

## API

For writing your own picker and for information about the API please read the
[Developers Documentation](developers.md).

## Media

- [What is Telescope? (Video)](https://www.twitch.tv/teej_dv/clip/RichDistinctPlumberPastaThat)
- [More advanced configuration (Video)](https://www.twitch.tv/videos/756229115)
- [telescope.nvim 0.1 reflection (Video)](https://www.youtube.com/watch?v=3WEAjCXFiiM)
- [Why Telescope? (Video)](https://www.youtube.com/watch?v=8SqFt5h2Lsg)
- [Telescope and Nvim 0.5 Intro (Video)](https://www.youtube.com/watch?v=guxLXcG1kzQ)

## Contributing

All contributions are welcome! Just open a pull request.
Please read [CONTRIBUTING.md](./CONTRIBUTING.md)

## Related Projects

- [snacks.picker](https://github.com/folke/snacks.nvim/blob/main/docs/picker.md)
- [mini.pick](https://github.com/nvim-mini/mini.pick)
- [fzf-lua](https://github.com/ibhagwan/fzf-lua)
- [fzf.vim](https://github.com/junegunn/fzf.vim)
- [denite.nvim](https://github.com/Shougo/denite.nvim)
- [vim-clap](https://github.com/liuchengxu/vim-clap)


================================================
FILE: data/memes/planets/earth
================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓▒▒▒░  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▒▓▓▓▓▓▒▒   ░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▒▒▓▒▒░   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓ ░▓▓▓▒▒▒▒▒  ▒░ ▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▒▓▓▓▓▓▓▒▒ ▒▓▒░░▒▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓░▓▓▓▒▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓░░▒▓▓▓▓▓▓▓▓▓   ▒░░  ░ ▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▒▓▒▒▓▓▓▓▒▓▒▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▒▓▓▓▓▓▓▓▓ ▒░  ░▓  ░ ░ ▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▒▒▒▓▓▒░░▓▒▓▓▓▓▓▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓     ░▒▓      ▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▒▒▓▒▒░░░▓▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ░    ▓       ▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▒▒▒▒▒▒▒░▒▓▓▓▓▒▓▒▒▓▒▓▓▓▒▓▓▓▓▓▓▓▓▓▓▒▒▓▒▒░▓▓▓░▓▓▓▓▓▒▓    ░▒▓▒▓░       ▓▓▓▓▓▓
▓▓▓▓▓▓ ▒▒▒▒░▒▒▒░░▒▓▓▒▓░▓▓▓░▒▓▓▓▓▓▓▓▓▒▓▓▒▒▒▒▒░░░▓▓ ▓▓░▓▓▓▒▒░  ▓ ░▒▓         ▓▓▓▓▓
▓▓▓▓▓▓▒▒▒▒░▒▒▒░▒▓▒▒▓▓▓▓▓▓▒▓▓ ▓░▓▓▓▒▒▒▓▓▓▓▒░░░░▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒         ▓▓▓▓▓
▓▓▓▓▓ ▒▒▒▓▓▒▒▒▒▒▓▓▒▒▓▓▓▓▓▓▓▒ ▓▓▓▓▓▓▒▒ ▓▓▒▓▒▒░▒ ▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▒░▓   ░░   ▒ ▓▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▒▒▒▓▒▓▓▒▓▓▓▓▓▓▒▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▒▒▒▓▓▒▓▓▓▓▓▓▓▓ ░▓▓▓▓▒▒░   ▒ ░   ▒░ ▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▒▒▒▓▓▒▓▓▓▒▓▓▓▓▒▓▓▓▓▒▓▒░ ▓▒▓▒▒▓▓▓▓▓▒▓▓▓▓▓▓▓▓  ▒ ▒░▒░░    ░ ▒░     ▓▓▓▓
▓▓▓▓▓▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▓▒▒▓▓▓▓▓▓▓▒▓▓▓▒▓▓▓▓▓▒▒▓░▓▓▓▒░▒   ░▒  ░ ░    ▒    ░▒░    ▓▓▓▓
▓▓▓▓▓▒▒▒▒▒░░▒▓▒▒▒▒▒▒▒▓ ▓▓▓▒▓▓▓▓▓▓ ▓▒░░▓▓░▒▓▓            ░   ░ ░▒ ░░░░▒░ ░░▒ ▓▓▓▓
▓▓▓▓▓▒▒▒▒▓▒▒▒▒░▒░▒▓  ▓▒▓▓▒▓▓▓▓▓▓▓▓▓▓▓▒ ▓▓▓▓░          ▒▒▓▒░ ▒░░ ▒▓▓▓▒▒▒░▒ ▓ ▓▓▓▓
▓▓▓▓▓ ▒░▒▓▒▒░░▒░░░▒▒▓ ░ ░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▒ ▒▓   ▓▓  ░░░▒░▒   ▒▓▓▓▓▒░░    ▓▓▓▓▓
▓▓▓▓▓▓▒▒░  ▒▓▒▒▒▒▓▒░ ▒ ░▒ ░▓▓▓▓▓▓▓▓▓▓▓▓░▒░░▓▓▓▓ ▓▓▓ ░▓▒░  ░ ░▒▒░▒▓▓░░░▒    ▓▓▓▓▓
▓▓▓▓▓▓░▒▒▒▒ ▒  ▒▒░▓▒░▒ ▒░▒▓░▒▒▓▓▓▓▓▓▓▓▓▒▒░ ▒▓▓▒▓▓▓▓▓▓▓▓▓▒░▓▒ ▓▓▒▓▓▓▓▓▓▒░ ▒▓▓▓▓▓▓
▓▓▓▓▓▓▓▒▒▒▒▒▒▒░▒▒▒░░▒▓░░▒▒░▒░▒░▒▓▓▓▒▒▒▒▓░ ░ ░       ▓▓▒▒▒░▓▓▓▓▓▓▓▓▓▓▓▓▒▒░ ▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▒▒░▒▒▒▒░▒▒░▒ ▒ ▓▓▓░▒▓░▒▓▓▒░░░░▒▒  ░░▓ ▒░ ▒░░▒░▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒ ▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▒░▒▒▒▒▒░▒▒▒░▒▒▒▒  ▒▒░ ▒▒▒▓░▒▒   ▒▓▓░▒      ▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒ ▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░▒▒░▒░▒▒▓░▒▓▓░▒▒░▒░▒▓▒▓▓▓▓▒▒▓░▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▒▒▒▒ ▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒░▒▒▒▒░▒░░▓▒▓▒▒▓░▓▓░▓▓ ▓▒▓ ▒  ░▓ ▒░▓░▓▓▓▓▓▓▓▒▒▒▒▒▒ ▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓ ▒ ▒▒▒▒▒▒▒░▒░▒░░░▒▒░░░░ ▒ ░░▓▒░▓▓▓▓▓▒▓▓▓ ▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▒▒▒▒▒▒▓░▒▒░▒░▒▒░░▒▓▒▒▓▒▒▒▓▒░▓▒▒▓▓▓▓▓▓▓▓░░▓▓▓▓▓▒▒▒▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░░▒▓▓▓▒▓▓▓▒▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒ ▒▒▒▒░░▒▒▒▓▒▒▓▒░▒▒▒▒░▒▒▓▓▒▒▓▓▒▓▓▓▓▓▓▓▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▒░▒▒▒▒▒▒▒▒▒▒▓▒▒▒▓▓▒▓▒▒▒▒▓▓▒▒▓▓▓▓▓▒▓░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▓▒▓▓▓▒░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▓▒░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓



================================================
FILE: data/memes/planets/jupiter
================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  ░░░ ░    ░  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ▒▒▒▒▒▒▒░░ ▒ ░▒░ ░░▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░▒▓▒▒░▒▒ ▒▒▒░▒▒░▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒ ▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒▓▓▒▓▒▓▓▓▓▓▓▓▓▒▓▒▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒   ▓ ░   ░▒▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒▓▒▒▓▓▒▓▓▓▒▒▒▒▓▒▒▒▒▒▒▓▒▓▓▒▓▒▒▒▒▓▓▓▓▓▒▓▓▓▓▓▓▓▓▒▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▒▒▒▒▓▒▒▓▓▓▒▒▒▒▒▒▒▒▓░░░▒▒▒▒░░░░░▒▒▒░░░░░▒▒▒░░░▒░▒▒▒▒▒▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒▓▓▓▓▓▓▒▓▓▓▓▒▒▓▓▒▒▒▓▓▒▒▒▒▓▓▓▒▓▓▓▓▓▒▓▒▓▓▓▓▓▓▓▓ ▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▒░▒▓▒▒▓▓▓▒▓▓▒▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▓▓▒░▓▒▓▓   ▒ ▓▓▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▒▒░▓▓░░░  ▒   ▒▒▓▓▒  ▓▓░▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▒▓▓▓▒▒▓▓░▒░ ▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓ ▓▓▓
▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▓▓▒▓▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▒▓▓▓▓▓▒▒▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓░░▓▒▒▓▒▓ ▒▒▓▓▒▓▓▒▓▓▒▓▓▓▓▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▒▒▒▒▒▒▓▒▓▓▓▒▒▓▓▒▒    ░░▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▒▒▓▓▓▒▓▓▓▓▒      ░▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▓▓▓▒▓▒▓▓▓▓▒▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓



================================================
FILE: data/memes/planets/mars
================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒░▒   ▓▒ ░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ░  ░░░▒▒ ░ ▒░  ░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░ ░░  ░ ░░▒▓░░░░░░░ ░░ ░░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░  ░░░░░░░░ ░▒░▒░░░▒▒░░░░░░░░░ ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░ ░░░░░░░░░░░░░░░▒▒▒▓▒▒▒▒▒▒▒░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░░ ░  ░░░░░░░░░░ ░░░▒▒▒▒▒▒▒▓▒▒▒▒░▒▒░░░▒░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░ ░░         ░  ░  ░ ░░▒▓▒▒▒▒▒▒▒▓▒▒░▒░▒▒░░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░ ░░                  ░ ░░▒▒▒▒▒▓▒▒▓▒▒░░ ▒▒░ ░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░                        ░░░▒▒▒▒▒▒▒▒▒░ ░░▒░░░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓                          ░▒░░▒▒▒▒▒▒░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓                        ░░ ░░░░░▒▒░▒░▒▒▒░░░░░ ░ ░░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓                        ░ ░▒▒ ░ ░▒░░░░░░░░░  ░▒░░ ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓                        ░░  ░░ ░░ ░░░░░░░ ░░░░  ░░  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓        ░           ░░ ░              ░     ▒░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓                      ░░░░     ░░     ░░ ░░░░░ ▒░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓                       ░░░             ░ ░░▒░ ░▒▒▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓                        ░░  ░  ░       ░░░  ░▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░                       ░ ▒        ░  ░░░▒▒░▒▒▒░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░     ░ ░    ▒  ░░░ ░  ░░░░▒░░▓░▒░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░        ░          ░░ ▒▓▒░▒▒▒ ░░░░▒▒░▒▒ ░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░ ░   ░░░          ░▒ ▒▒▒▓▒▒░░░░░░░░░▒░▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░ ░░░░░░░░░░ ░░░░ ▓▒▒▒▒▒▒▒▒▒▒░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▒▒░░░░░░▒▒▒▒▒░▒▒▒░░▒▒▓▓▓▓▒▓▒▒▒▒▒░▒░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░   ░▒▒░░░░░▒▒░░▒▒▒▓▓▒▒▒▒▒▒░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░ ░ ░░░░░░░░░▒▒░░░░░░░ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ░░░░░░░░░░ ░ ░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓



================================================
FILE: data/memes/planets/mercury
================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓            ░  ░░    ░   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓    ░[38;5;
Download .txt
gitextract_nywbmm0h/

├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── ci.yml
│       ├── docgen.yml
│       ├── lint.yml
│       └── release.yml
├── .gitignore
├── .luacheckrc
├── .stylua.toml
├── CONTRIBUTING.md
├── LICENSE
├── Makefile
├── README.md
├── data/
│   └── memes/
│       └── planets/
│           ├── earth
│           ├── jupiter
│           ├── mars
│           ├── mercury
│           ├── moon
│           ├── neptune
│           ├── pluto
│           ├── saturn
│           ├── uranus
│           └── venus
├── developers.md
├── doc/
│   ├── secret.txt
│   ├── telescope.txt
│   └── telescope_changelog.txt
├── ftplugin/
│   ├── TelescopePrompt.lua
│   └── TelescopeResults.lua
├── lua/
│   ├── telescope/
│   │   ├── _.lua
│   │   ├── _extensions/
│   │   │   └── init.lua
│   │   ├── actions/
│   │   │   ├── generate.lua
│   │   │   ├── history.lua
│   │   │   ├── init.lua
│   │   │   ├── layout.lua
│   │   │   ├── mt.lua
│   │   │   ├── set.lua
│   │   │   ├── state.lua
│   │   │   └── utils.lua
│   │   ├── algos/
│   │   │   ├── fzy.lua
│   │   │   ├── linked_list.lua
│   │   │   └── string_distance.lua
│   │   ├── builtin/
│   │   │   ├── __diagnostics.lua
│   │   │   ├── __files.lua
│   │   │   ├── __git.lua
│   │   │   ├── __internal.lua
│   │   │   ├── __lsp.lua
│   │   │   └── init.lua
│   │   ├── command.lua
│   │   ├── config/
│   │   │   └── resolve.lua
│   │   ├── config.lua
│   │   ├── debounce.lua
│   │   ├── entry_manager.lua
│   │   ├── finders/
│   │   │   ├── async_job_finder.lua
│   │   │   ├── async_oneshot_finder.lua
│   │   │   └── async_static_finder.lua
│   │   ├── finders.lua
│   │   ├── from_entry.lua
│   │   ├── health.lua
│   │   ├── init.lua
│   │   ├── log.lua
│   │   ├── make_entry.lua
│   │   ├── mappings.lua
│   │   ├── operators.lua
│   │   ├── pickers/
│   │   │   ├── entry_display.lua
│   │   │   ├── highlights.lua
│   │   │   ├── layout.lua
│   │   │   ├── layout_strategies.lua
│   │   │   ├── multi.lua
│   │   │   ├── scroller.lua
│   │   │   └── window.lua
│   │   ├── pickers.lua
│   │   ├── previewers/
│   │   │   ├── buffer_previewer.lua
│   │   │   ├── init.lua
│   │   │   ├── previewer.lua
│   │   │   ├── term_previewer.lua
│   │   │   └── utils.lua
│   │   ├── sorters.lua
│   │   ├── state.lua
│   │   ├── testharness/
│   │   │   ├── helpers.lua
│   │   │   ├── init.lua
│   │   │   └── runner.lua
│   │   ├── themes.lua
│   │   └── utils.lua
│   └── tests/
│       ├── automated/
│       │   ├── action_spec.lua
│       │   ├── command_spec.lua
│       │   ├── entry_display_spec.lua
│       │   ├── entry_manager_spec.lua
│       │   ├── layout_strategies_spec.lua
│       │   ├── linked_list_spec.lua
│       │   ├── pickers/
│       │   │   ├── find_files_spec.lua
│       │   │   └── live_grep_spec.lua
│       │   ├── resolver_spec.lua
│       │   ├── scroller_spec.lua
│       │   ├── sorters_spec.lua
│       │   ├── telescope_spec.lua
│       │   └── utils_spec.lua
│       ├── fixtures/
│       │   ├── find_files/
│       │   │   ├── file_a.txt
│       │   │   └── file_abc.txt
│       │   └── live_grep/
│       │       └── a.txt
│       ├── helpers.lua
│       └── pickers/
│           ├── find_files__readme.lua
│           └── find_files__scrolling_descending_cycle.lua
├── plugin/
│   └── telescope.lua
├── scripts/
│   ├── gendocs.lua
│   └── minimal_init.vim
└── telescope.nvim-scm-1.rockspec
Condensed preview — 111 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,641K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 55,
    "preview": "github: [tjdevries, Conni2461, fdschmidt93, jamestrew]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 3784,
    "preview": "name: Bug report\ndescription: Report a problem with Telescope\nlabels: [bug]\nbody:\n  - type: markdown\n    attributes:\n   "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 214,
    "preview": "blank_issues_enabled: false\ncontact_links:\n   - name: Question\n     url: https://https://github.com/nvim-telescope/teles"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 604,
    "preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: enhancement\nassignees: ''\n\n---\n\n**Is"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 1069,
    "preview": "# Description\n\nPlease include a summary of the change and which issue is fixed. Please also\ninclude relevant motivation "
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 157,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n  "
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 1165,
    "preview": "name: Tests\n\non:\n  push:\n    branches:\n      - \"master\"\n  pull_request:\n    branches:\n      - \"master\"\n  workflow_dispat"
  },
  {
    "path": ".github/workflows/docgen.yml",
    "chars": 2390,
    "preview": "name: Generate docs\n\non:\n  pull_request:\n    branches:\n      - master\n  workflow_dispatch:\n\njobs:\n  build-sources:\n    n"
  },
  {
    "path": ".github/workflows/lint.yml",
    "chars": 755,
    "preview": "name: Linting and style checking\n\non:\n  push:\n    branches:\n      - \"master\"\n  pull_request:\n    branches:\n      - \"mast"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 846,
    "preview": "name: \"release\"\non:\n  push:\n    tags:\n      - '*'\n  workflow_dispatch:\n\njobs:\n  luarocks-upload:\n    runs-on: ubuntu-lat"
  },
  {
    "path": ".gitignore",
    "chars": 32,
    "preview": "build/\ndoc/tags\n\n.luacheckcache\n"
  },
  {
    "path": ".luacheckrc",
    "chars": 699,
    "preview": "-- Rerun tests only if their modification time changed.\ncache = true\n\nstd = luajit\ncodes = true\n\nself = false\n\n-- Glorio"
  },
  {
    "path": ".stylua.toml",
    "chars": 140,
    "preview": "column_width = 120\nline_endings = \"Unix\"\nindent_type = \"Spaces\"\nindent_width = 2\nquote_style = \"AutoPreferDouble\"\ncall_p"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 3729,
    "preview": "# Contributing\n\nThanks for taking the time to submit code to Telescope if you're reading this!\nWe love having new contri"
  },
  {
    "path": "LICENSE",
    "chars": 1076,
    "preview": "MIT License\n\nCopyright (c) 2020-2021 nvim-telescope\n\nPermission is hereby granted, free of charge, to any person obtaini"
  },
  {
    "path": "Makefile",
    "chars": 324,
    "preview": ".PHONY: test lint docgen\n\ntest:\n\tnvim --headless --noplugin -u scripts/minimal_init.vim -c \"PlenaryBustedDirectory lua/t"
  },
  {
    "path": "README.md",
    "chars": 31225,
    "preview": "# telescope.nvim\n\n[![LuaRocks](https://img.shields.io/luarocks/v/Conni2461/telescope.nvim?logo=lua&color=purple)](https:"
  },
  {
    "path": "data/memes/planets/earth",
    "chars": 53409,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/jupiter",
    "chars": 54595,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/mars",
    "chars": 39068,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/mercury",
    "chars": 54809,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/moon",
    "chars": 49027,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/neptune",
    "chars": 51653,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/pluto",
    "chars": 55018,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/saturn",
    "chars": 50323,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/uranus",
    "chars": 54009,
    "preview": "\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b[38;5;0;48;5;0m▓\u001b"
  },
  {
    "path": "data/memes/planets/venus",
    "chars": 50941,
    "preview": "\u001b[38;5;17;48;5;0m \u001b[38;5;17;48;5;0m \u001b[38;5;17;48;5;0m \u001b[38;5;17;48;5;0m \u001b[38;5;17;48;5;0m \u001b[38;5;17;48;5;0m \u001b[38;5;17;48"
  },
  {
    "path": "developers.md",
    "chars": 16686,
    "preview": "# Developers\n\n- [Introduction](#introduction)\n- [Guide to your first Picker](#guide-to-your-first-picker)\n  - [Requires]"
  },
  {
    "path": "doc/secret.txt",
    "chars": 1055,
    "preview": "================================================================================\n                                       "
  },
  {
    "path": "doc/telescope.txt",
    "chars": 164494,
    "preview": "================================================================================\nINTRODUCTION                           "
  },
  {
    "path": "doc/telescope_changelog.txt",
    "chars": 12196,
    "preview": "================================================================================\n                                       "
  },
  {
    "path": "ftplugin/TelescopePrompt.lua",
    "chars": 352,
    "preview": "-- Don't wrap textwidth things\nvim.opt_local.formatoptions:remove \"t\"\nvim.opt_local.formatoptions:remove \"c\"\n\n-- Don't i"
  },
  {
    "path": "ftplugin/TelescopeResults.lua",
    "chars": 142,
    "preview": "-- Don't have scrolloff, it makes things weird.\nvim.opt_local.scrolloff = 0\nvim.opt_local.scrollbind = false\n\nvim.opt_lo"
  },
  {
    "path": "lua/telescope/_.lua",
    "chars": 6856,
    "preview": "local uv = vim.uv\n\nlocal Object = require \"plenary.class\"\nlocal log = require \"plenary.log\"\n\nlocal async = require \"plen"
  },
  {
    "path": "lua/telescope/_extensions/init.lua",
    "chars": 2283,
    "preview": "local extensions = {}\n\nextensions._loaded = {}\nextensions._config = {}\nextensions._health = {}\n\nlocal load_extension = f"
  },
  {
    "path": "lua/telescope/actions/generate.lua",
    "chars": 5162,
    "preview": "---@tag telescope.actions.generate\n---@config { [\"module\"] = \"telescope.actions.generate\", [\"name\"] = \"ACTIONS_GENERATE\""
  },
  {
    "path": "lua/telescope/actions/history.lua",
    "chars": 6651,
    "preview": "local conf = require(\"telescope.config\").values\nlocal Path = require \"plenary.path\"\nlocal utils = require \"telescope.uti"
  },
  {
    "path": "lua/telescope/actions/init.lua",
    "chars": 55643,
    "preview": "---@tag telescope.actions\n---@config { [\"module\"] = \"telescope.actions\" }\n\n---@brief [[\n--- These functions are useful f"
  },
  {
    "path": "lua/telescope/actions/layout.lua",
    "chars": 6385,
    "preview": "---@tag telescope.actions.layout\n---@config { [\"module\"] = \"telescope.actions.layout\", [\"name\"] = \"ACTIONS_LAYOUT\" }\n\n--"
  },
  {
    "path": "lua/telescope/actions/mt.lua",
    "chars": 5869,
    "preview": "local action_mt = {}\n\n--- Checks all replacement combinations to determine which function to run.\n--- If no replacement "
  },
  {
    "path": "lua/telescope/actions/set.lua",
    "chars": 10964,
    "preview": "---@tag telescope.actions.set\n---@config { [\"module\"] = \"telescope.actions.set\", [\"name\"] = \"ACTIONS_SET\" }\n\n---@brief ["
  },
  {
    "path": "lua/telescope/actions/state.lua",
    "chars": 1588,
    "preview": "---@tag telescope.actions.state\n---@config { [\"module\"] = \"telescope.actions.state\", [\"name\"] = \"ACTIONS_STATE\" }\n\n---@b"
  },
  {
    "path": "lua/telescope/actions/utils.lua",
    "chars": 5449,
    "preview": "---@tag telescope.actions.utils\n---@config { [\"module\"] = \"telescope.actions.utils\", [\"name\"] = \"ACTIONS_UTILS\" }\n\n---@b"
  },
  {
    "path": "lua/telescope/algos/fzy.lua",
    "chars": 5027,
    "preview": "-- The fzy matching algorithm\n--\n-- by Seth Warn <https://github.com/swarn>\n-- a lua port of John Hawthorn's fzy <https:"
  },
  {
    "path": "lua/telescope/algos/linked_list.lua",
    "chars": 5123,
    "preview": "local LinkedList = {}\nLinkedList.__index = LinkedList\n\nfunction LinkedList:new(opts)\n  opts = opts or {}\n  local track_a"
  },
  {
    "path": "lua/telescope/algos/string_distance.lua",
    "chars": 932,
    "preview": "local function min(a, b, c)\n  local min_val = a\n\n  if b < min_val then\n    min_val = b\n  end\n  if c < min_val then\n    m"
  },
  {
    "path": "lua/telescope/builtin/__diagnostics.lua",
    "chars": 5281,
    "preview": "local conf = require(\"telescope.config\").values\nlocal finders = require \"telescope.finders\"\nlocal make_entry = require \""
  },
  {
    "path": "lua/telescope/builtin/__files.lua",
    "chars": 19079,
    "preview": "local api = vim.api\n\nlocal action_state = require \"telescope.actions.state\"\nlocal action_set = require \"telescope.action"
  },
  {
    "path": "lua/telescope/builtin/__git.lua",
    "chars": 16216,
    "preview": "local api = vim.api\n\nlocal actions = require \"telescope.actions\"\nlocal action_state = require \"telescope.actions.state\"\n"
  },
  {
    "path": "lua/telescope/builtin/__internal.lua",
    "chars": 46023,
    "preview": "local api = vim.api\n\nlocal actions = require \"telescope.actions\"\nlocal action_set = require \"telescope.actions.set\"\nloca"
  },
  {
    "path": "lua/telescope/builtin/__lsp.lua",
    "chars": 16153,
    "preview": "---@alias TextDocumentFunction fun(client: lsp.Client): lsp.TextDocumentPositionParams\n\nlocal api = vim.api\nlocal lsp = "
  },
  {
    "path": "lua/telescope/builtin/init.lua",
    "chars": 36193,
    "preview": "---@tag telescope.builtin\n\n---@config { ['field_heading'] = \"Options\", [\"module\"] = \"telescope.builtin\" }\n\n---@brief [[\n"
  },
  {
    "path": "lua/telescope/command.lua",
    "chars": 7259,
    "preview": "---@tag telescope.command\n---@config { [\"module\"] = \"telescope.command\" }\n\n---@brief [[\n---\n--- Telescope commands can b"
  },
  {
    "path": "lua/telescope/config/resolve.lua",
    "chars": 8641,
    "preview": "---@tag telescope.resolve\n---@config { [\"module\"] = \"telescope.resolve\" }\n\n---@brief [[\n--- Provides \"resolver functions"
  },
  {
    "path": "lua/telescope/config.lua",
    "chars": 30463,
    "preview": "local strings = require \"plenary.strings\"\nlocal sorters = require \"telescope.sorters\"\nlocal os_sep = require(\"plenary.pa"
  },
  {
    "path": "lua/telescope/debounce.lua",
    "chars": 5123,
    "preview": "-- Credit: https://gist.github.com/runiq/31aa5c4bf00f8e0843cd267880117201\n--\n\nlocal M = {}\n\n---Validates args for `throt"
  },
  {
    "path": "lua/telescope/entry_manager.lua",
    "chars": 4361,
    "preview": "local log = require \"telescope.log\"\n\nlocal LinkedList = require \"telescope.algos.linked_list\"\n\nlocal EntryManager = {}\nE"
  },
  {
    "path": "lua/telescope/finders/async_job_finder.lua",
    "chars": 1812,
    "preview": "local async_job = require \"telescope._\"\nlocal LinesPipe = require(\"telescope._\").LinesPipe\n\nlocal make_entry = require \""
  },
  {
    "path": "lua/telescope/finders/async_oneshot_finder.lua",
    "chars": 2473,
    "preview": "local async = require \"plenary.async\"\nlocal async_job = require \"telescope._\"\nlocal LinesPipe = require(\"telescope._\").L"
  },
  {
    "path": "lua/telescope/finders/async_static_finder.lua",
    "chars": 906,
    "preview": "local scheduler = require(\"plenary.async\").util.scheduler\n\nlocal make_entry = require \"telescope.make_entry\"\n\nreturn fun"
  },
  {
    "path": "lua/telescope/finders.lua",
    "chars": 5738,
    "preview": "local Job = require \"plenary.job\"\n\nlocal make_entry = require \"telescope.make_entry\"\nlocal log = require \"telescope.log\""
  },
  {
    "path": "lua/telescope/from_entry.lua",
    "chars": 1404,
    "preview": "--[[ =============================================================================\n\nGet metadata from entries.\n\nThis fil"
  },
  {
    "path": "lua/telescope/health.lua",
    "chars": 3401,
    "preview": "local health = vim.health\n\nlocal extension_module = require \"telescope._extensions\"\nlocal extension_info = require(\"tele"
  },
  {
    "path": "lua/telescope/init.lua",
    "chars": 6744,
    "preview": "local _extensions = require \"telescope._extensions\"\n\nlocal telescope = {}\n\n-- TODO(conni2461): also table of contents fo"
  },
  {
    "path": "lua/telescope/log.lua",
    "chars": 80,
    "preview": "return require(\"plenary.log\").new {\n  plugin = \"telescope\",\n  level = \"info\",\n}\n"
  },
  {
    "path": "lua/telescope/make_entry.lua",
    "chars": 36916,
    "preview": "---@tag telescope.make_entry\n\n---@brief [[\n---\n--- Each picker has a finder made up of two parts, the results which are "
  },
  {
    "path": "lua/telescope/mappings.lua",
    "chars": 11116,
    "preview": "---@tag telescope.mappings\n\n---@brief [[\n--- |telescope.mappings| is used to configure the keybindings within\n--- a tele"
  },
  {
    "path": "lua/telescope/operators.lua",
    "chars": 802,
    "preview": "local operators = {}\n\nlocal last_operator = { callback = function(_) end, opts = {} }\n\n--- Execute the last saved operat"
  },
  {
    "path": "lua/telescope/pickers/entry_display.lua",
    "chars": 5719,
    "preview": "---@tag telescope.pickers.entry_display\n\n---@brief [[\n--- Entry Display is used to format each entry shown in the result"
  },
  {
    "path": "lua/telescope/pickers/highlights.lua",
    "chars": 3853,
    "preview": "local api = vim.api\nlocal log = require \"telescope.log\"\nlocal conf = require(\"telescope.config\").values\n\nlocal highlight"
  },
  {
    "path": "lua/telescope/pickers/layout.lua",
    "chars": 5453,
    "preview": "---@tag telescope.pickers.layout\n---@config { [\"module\"] = \"telescope.pickers.layout\" }\n\n---@brief [[\n--- The telescope "
  },
  {
    "path": "lua/telescope/pickers/layout_strategies.lua",
    "chars": 35562,
    "preview": "---@tag telescope.layout\n---@config { [\"module\"] = \"telescope.layout\" }\n\n---@brief [[\n--- The layout of telescope picker"
  },
  {
    "path": "lua/telescope/pickers/multi.lua",
    "chars": 983,
    "preview": "local MultiSelect = {}\nMultiSelect.__index = MultiSelect\n\nfunction MultiSelect:new()\n  return setmetatable({\n    _entrie"
  },
  {
    "path": "lua/telescope/pickers/scroller.lua",
    "chars": 2996,
    "preview": "local scroller = {}\n\nlocal range_calculators = {\n  ascending = function(max_results, num_results)\n    return 0, math.min"
  },
  {
    "path": "lua/telescope/pickers/window.lua",
    "chars": 1222,
    "preview": "local resolve = require \"telescope.config.resolve\"\n\nlocal p_window = {}\n\nfunction p_window.get_window_options(picker, ma"
  },
  {
    "path": "lua/telescope/pickers.lua",
    "chars": 57958,
    "preview": "require \"telescope\"\n\nlocal api = vim.api\n\nlocal async = require \"plenary.async\"\nlocal await_schedule = async.util.schedu"
  },
  {
    "path": "lua/telescope/previewers/buffer_previewer.lua",
    "chars": 38357,
    "preview": "local api = vim.api\n\nlocal from_entry = require \"telescope.from_entry\"\nlocal Path = require \"plenary.path\"\nlocal utils ="
  },
  {
    "path": "lua/telescope/previewers/init.lua",
    "chars": 15895,
    "preview": "---@tag telescope.previewers\n---@config { [\"module\"] = \"telescope.previewers\" }\n\n---@brief [[\n--- Provides a Previewer t"
  },
  {
    "path": "lua/telescope/previewers/previewer.lua",
    "chars": 2518,
    "preview": "local utils = require \"telescope.utils\"\n\nlocal Previewer = {}\nPreviewer.__index = Previewer\n\nlocal force_function_wrap ="
  },
  {
    "path": "lua/telescope/previewers/term_previewer.lua",
    "chars": 8676,
    "preview": "local api = vim.api\n\nlocal conf = require(\"telescope.config\").values\nlocal utils = require \"telescope.utils\"\nlocal Path "
  },
  {
    "path": "lua/telescope/previewers/utils.lua",
    "chars": 6556,
    "preview": "local api = vim.api\n\nlocal ts_utils = require \"telescope.utils\"\nlocal strings = require \"plenary.strings\"\nlocal conf = r"
  },
  {
    "path": "lua/telescope/sorters.lua",
    "chars": 16641,
    "preview": "local log = require \"telescope.log\"\nlocal util = require \"telescope.utils\"\n\nlocal sorters = {}\n\nlocal ngram_highlighter "
  },
  {
    "path": "lua/telescope/state.lua",
    "chars": 881,
    "preview": "local state = {}\n\nTelescopeGlobalState = TelescopeGlobalState or {}\nTelescopeGlobalState.global = TelescopeGlobalState.g"
  },
  {
    "path": "lua/telescope/testharness/helpers.lua",
    "chars": 1675,
    "preview": "local test_helpers = {}\n\ntest_helpers.get_picker = function()\n  local state = require \"telescope.state\"\n  return state.g"
  },
  {
    "path": "lua/telescope/testharness/init.lua",
    "chars": 2980,
    "preview": "local assert = require \"luassert\"\n\nlocal Path = require \"plenary.path\"\n\nlocal tester = {}\ntester.debug = false\n\nlocal ge"
  },
  {
    "path": "lua/telescope/testharness/runner.lua",
    "chars": 3174,
    "preview": "local builtin = require \"telescope.builtin\"\n\nlocal DELAY = vim.g.telescope_test_delay or 50\nlocal runner = {}\n\n-- State "
  },
  {
    "path": "lua/telescope/themes.lua",
    "chars": 3705,
    "preview": "-- Prototype Theme System (WIP)\n-- Currently certain designs need a number of parameters.\n--\n-- local opts = themes.get_"
  },
  {
    "path": "lua/telescope/utils.lua",
    "chars": 22843,
    "preview": "---@tag telescope.utils\n---@config { [\"module\"] = \"telescope.utils\" }\n\n---@brief [[\n--- Utilities for writing telescope "
  },
  {
    "path": "lua/tests/automated/action_spec.lua",
    "chars": 10127,
    "preview": "local actions = require \"telescope.actions\"\nlocal action_set = require \"telescope.actions.set\"\n\nlocal transform_mod = re"
  },
  {
    "path": "lua/tests/automated/command_spec.lua",
    "chars": 3231,
    "preview": "local command = require \"telescope.command\"\n\nlocal eq = assert.are.same\n\ndescribe(\"command_parser\", function()\n  local t"
  },
  {
    "path": "lua/tests/automated/entry_display_spec.lua",
    "chars": 1682,
    "preview": "local entry_display = require \"telescope.pickers.entry_display\"\n\ndescribe(\"truncate\", function()\n  for _, ambiwidth in i"
  },
  {
    "path": "lua/tests/automated/entry_manager_spec.lua",
    "chars": 5127,
    "preview": "local EntryManager = require \"telescope.entry_manager\"\n\nlocal eq = assert.are.same\n\ndescribe(\"process_result\", function("
  },
  {
    "path": "lua/tests/automated/layout_strategies_spec.lua",
    "chars": 4010,
    "preview": "local config = require \"telescope.config\"\nlocal resolve = require \"telescope.config.resolve\"\nlocal layout_strats = requi"
  },
  {
    "path": "lua/tests/automated/linked_list_spec.lua",
    "chars": 2962,
    "preview": "local LinkedList = require \"telescope.algos.linked_list\"\n\ndescribe(\"LinkedList\", function()\n  it(\"can create a list\", fu"
  },
  {
    "path": "lua/tests/automated/pickers/find_files_spec.lua",
    "chars": 3937,
    "preview": "-- Just skip on mac, it has flaky CI for some reason\nif vim.fn.has \"mac\" == 1 or require(\"telescope.utils\").iswin then\n "
  },
  {
    "path": "lua/tests/automated/pickers/live_grep_spec.lua",
    "chars": 1241,
    "preview": "if vim.fn.has \"mac\" == 1 or require(\"telescope.utils\").iswin then\n  return\nend\n\nlocal tester = require \"telescope.testha"
  },
  {
    "path": "lua/tests/automated/resolver_spec.lua",
    "chars": 7317,
    "preview": "local eq = function(a, b)\n  assert.are.same(a, b)\nend\n\nlocal resolve = require \"telescope.config.resolve\"\n\ndescribe(\"tel"
  },
  {
    "path": "lua/tests/automated/scroller_spec.lua",
    "chars": 4740,
    "preview": "local p_scroller = require \"telescope.pickers.scroller\"\n\nlocal log = require \"telescope.log\"\nlog.use_console = false\n\nlo"
  },
  {
    "path": "lua/tests/automated/sorters_spec.lua",
    "chars": 2645,
    "preview": "local sorters = require \"telescope.sorters\"\n\ndescribe(\"get_substr_matcher\", function()\n  local function with_smartcase(s"
  },
  {
    "path": "lua/tests/automated/telescope_spec.lua",
    "chars": 8086,
    "preview": "local picker = require \"telescope.pickers\"\nlocal Path = require \"plenary.path\"\n\nlocal eq = assert.are.same\n\nlocal functi"
  },
  {
    "path": "lua/tests/automated/utils_spec.lua",
    "chars": 11641,
    "preview": "local Path = require \"plenary.path\"\nlocal utils = require \"telescope.utils\"\n\nlocal eq = assert.are.equal\n\ndescribe(\"path"
  },
  {
    "path": "lua/tests/fixtures/find_files/file_a.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "lua/tests/fixtures/find_files/file_abc.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "lua/tests/fixtures/live_grep/a.txt",
    "chars": 54,
    "preview": "abc\nabc\nabc\nabc\nabc\n\n\nabcd\nabcd\nabcd\nabcd\nabcd\n\nabcde\n"
  },
  {
    "path": "lua/tests/helpers.lua",
    "chars": 2071,
    "preview": "local finders = require \"telescope.finders\"\nlocal make_entry = require \"telescope.make_entry\"\nlocal previewers = require"
  },
  {
    "path": "lua/tests/pickers/find_files__readme.lua",
    "chars": 216,
    "preview": "local helper = require \"telescope.testharness.helpers\"\nlocal runner = require \"telescope.testharness.runner\"\n\nrunner.pic"
  },
  {
    "path": "lua/tests/pickers/find_files__scrolling_descending_cycle.lua",
    "chars": 360,
    "preview": "local tester = require \"telescope.testharness\"\nlocal helper = require \"telescope.testharness.helpers\"\nlocal runner = req"
  },
  {
    "path": "plugin/telescope.lua",
    "chars": 6377,
    "preview": "if 1 ~= vim.fn.has \"nvim-0.10.4\" then\n  error \"Telescope.nvim requires at least nvim-0.10.4.\"\n  return\nend\n\nif vim.g.loa"
  },
  {
    "path": "scripts/gendocs.lua",
    "chars": 1379,
    "preview": "-- Setup telescope with defaults\nif RELOAD then\n  RELOAD \"telescope\"\nend\nrequire(\"telescope\").setup()\n\nlocal docgen = re"
  },
  {
    "path": "scripts/minimal_init.vim",
    "chars": 159,
    "preview": "set rtp+=.\nset rtp+=../plenary.nvim/\nset rtp+=../tree-sitter-lua/\n\nruntime! plugin/plenary.vim\nruntime! plugin/telescope"
  },
  {
    "path": "telescope.nvim-scm-1.rockspec",
    "chars": 777,
    "preview": "local MODREV, SPECREV = 'scm', '-1'\nrockspec_format = '3.0'\npackage = 'telescope.nvim'\nversion = MODREV .. SPECREV\n\ndesc"
  }
]

About this extraction

This page contains the full source code of the nvim-telescope/telescope.nvim GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 111 files (1.4 MB), approximately 644.7k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!