Spell suggestions (#399)
* feat: spell suggest picker * set correct window title * add entry to readme
This commit is contained in:
@@ -398,6 +398,7 @@ Built-in functions. Ready to be bound to any key you like. :smile:
|
||||
| `builtin.vim_options` | Lists vim options and on enter edit the options value. |
|
||||
| `builtin.registers` | Lists vim registers and edit or paste selection. |
|
||||
| `builtin.autocommands` | Lists vim autocommands and go to their declaration. |
|
||||
| `builtin.spell_suggest` | Lists spelling suggestions for <cword>.
|
||||
| `builtin.keymaps` | Lists normal-mode mappings. |
|
||||
| `builtin.filetypes` | Lists all filetypes. |
|
||||
| `builtin.highlights` | Lists all highlights. |
|
||||
|
||||
@@ -54,6 +54,7 @@ builtin.keymaps = require('telescope.builtin.internal').keymaps
|
||||
builtin.filetypes = require('telescope.builtin.internal').filetypes
|
||||
builtin.highlights = require('telescope.builtin.internal').highlights
|
||||
builtin.autocommands = require('telescope.builtin.internal').autocommands
|
||||
builtin.spell_suggest = require('telescope.builtin.internal').spell_suggest
|
||||
|
||||
builtin.lsp_references = require('telescope.builtin.lsp').references
|
||||
builtin.lsp_document_symbols = require('telescope.builtin.lsp').document_symbols
|
||||
|
||||
@@ -771,6 +771,29 @@ internal.autocommands = function(opts)
|
||||
}):find()
|
||||
end
|
||||
|
||||
internal.spell_suggest = function(opts)
|
||||
if not vim.wo.spell then return false end
|
||||
|
||||
local cursor_word = vim.fn.expand("<cword>")
|
||||
local suggestions = vim.fn.spellsuggest(cursor_word)
|
||||
|
||||
pickers.new(opts, {
|
||||
prompt_title = 'Spelling Suggestions',
|
||||
finder = finders.new_table {
|
||||
results = suggestions,
|
||||
},
|
||||
sorter = conf.generic_sorter(opts),
|
||||
attach_mappings = function(prompt_bufnr)
|
||||
actions.goto_file_selection_edit:replace(function()
|
||||
local selection = actions.get_selected_entry()
|
||||
actions.close(prompt_bufnr)
|
||||
vim.cmd('normal! "_ciw"' .. selection[1])
|
||||
end)
|
||||
return true
|
||||
end
|
||||
}):find()
|
||||
end
|
||||
|
||||
local function apply_checks(mod)
|
||||
for k, v in pairs(mod) do
|
||||
mod[k] = function(opts)
|
||||
|
||||
Reference in New Issue
Block a user