telescope-terraform-doc.nvim
is an extension for telescope.nvim that provides its users with ability to search and browse terraform providers docs.
Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim' Plug 'ANGkeith/telescope-terraform-doc.nvim'
use { "nvim-telescope/telescope.nvim", requires = { { "nvim-lua/plenary.nvim" }, { "ANGkeith/telescope-terraform-doc.nvim" }, }, }
Add the following to your init.vim
:
require('telescope').load_extension('terraform_doc')
Browse the official hashicorp providers:
Browse resources from the latest hashicorp/aws
provider:
:Telescope terraform_doc full_name=hashicorp/aws
Browse resources from the v3.74.0 hashicorp/aws
provider:
:Telescope terraform_doc full_name=hashicorp/aws version=3.74.0
Browse all terraform modules:
:Telescope terraform_doc modules
nnoremap <space>ott :Telescope terraform_doc<cr> nnoremap <space>otm :Telescope terraform_doc modules<cr> nnoremap <space>ota :Telescope terraform_doc full_name=hashicorp/aws<cr> nnoremap <space>otg :Telescope terraform_doc full_name=hashicorp/google<cr> nnoremap <space>otk :Telescope terraform_doc full_name=hashicorp/kubernetes<cr>Keys Description Options
url_open_handler
The handler for opening url function latest_provider_symbol
The symbol for indicating that the current version is the latest string (default: *
) wincmd
Command to open documentation in a split window string (default: botright vnew
) wrap
Wrap lines in a documentation in a split window string (default: nowrap
) search_attach_mappings
The attach_mapping
handler to pass to the search picker function
local function customOpen(url) vim.fn.system('open -a Safari "' .. url .. '"') end require("telescope").setup({ extensions = { terraform_doc = { url_open_handler = customOpen, latest_provider_symbol = " ", wincmd = "botright vnew", wrap = "nowrap", } } })key Usage
<cr>
Open documentation with url_open_handler
<c-d>
Open documentation in a split window
Due to how the search
picker is written, attach_mapping
cannot be used directly to override the mappings.
This is how you can customize the search
picker mappings.
local telescope_actions = require("telescope.actions") local terraform_doc_actions = require("telescope._extensions.terraform_doc.actions") local terraform_doc_opts = require("telescope._extensions.terraform_doc.config").opts local function search_attach_mappings() telescope_actions.select_default:replace(terraform_doc_actions.doc_view(terraform_doc_opts())) return true end require("telescope").setup({ extensions = { terraform_doc = { search_attach_mappings = search_attach_mappings, } } }) require("telescope").load_extension("terraform_doc")
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4