WIP: Telescope LSP autocomplete
This commit is contained in:
parent
064e282804
commit
4c5f638171
@ -7,7 +7,8 @@ set.wrap = false
|
||||
set.number = true set.relativenumber = true set.ignorecase = true set.smartcase = true set.termguicolors = true set.swapfile = false set.backup = false set.undodir = os.getenv("XDG_CACHE_HOME") .. "/nvim/undo" set.undofile = true set.hlsearch = false
|
||||
set.incsearch = true
|
||||
set.cursorline = true
|
||||
set.cmdheight = 0
|
||||
-- set.cmdheight = 0
|
||||
set.cmdheight = 1
|
||||
set.mouse = 'a'
|
||||
set.splitright = true
|
||||
set.splitbelow = true
|
||||
@ -81,4 +82,76 @@ map('n', '<C-l>', '<C-w>l', {})
|
||||
--
|
||||
-- neogit.setup {}
|
||||
|
||||
vim.keymap.set("n", "<leader>tw", ":set wrap!<CR>")
|
||||
map("n", "<leader>tw", ":set wrap!<CR>")
|
||||
|
||||
function get_lsp_client_info()
|
||||
-- local info = vim.lsp.buf.completion()
|
||||
local pickers = require "telescope.pickers"
|
||||
local finders = require "telescope.finders"
|
||||
local previewers = require "telescope.previewers"
|
||||
local conf = require("telescope.config").values
|
||||
|
||||
local params = vim.lsp.util.make_position_params()
|
||||
opts = opts or {}
|
||||
local comp_text = {}
|
||||
for _, client in pairs(vim.lsp.buf_get_clients(0)) do
|
||||
client.request('textDocument/completion', params, function(arg1, arg2, arg3, arg4)
|
||||
local i = 0
|
||||
for key,value in pairs(arg2.items) do
|
||||
if value.textEdit.newText ~= nil and value.textEdit.newText ~= "" and i < 100 then
|
||||
table.insert(comp_text, value.textEdit.newText)
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
pickers.new(opts, {
|
||||
prompt_title = "Lsp autocomplete",
|
||||
finder = finders.new_table {
|
||||
-- results = { "red", "green", "blue" }
|
||||
results = comp_text
|
||||
},
|
||||
previewer = previewers.new_buffer_previewer(
|
||||
{
|
||||
title = "LSP Documentation",
|
||||
define_preview = function(self, entry, status)
|
||||
return "DO IT"
|
||||
end
|
||||
}
|
||||
),
|
||||
sorter = conf.generic_sorter(opts),
|
||||
}):find()
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
map('i', '<C-y>', get_lsp_client_info)
|
||||
|
||||
-- _request('textDocument/completion', params, function(err, response)
|
||||
-- if err or response == nil then
|
||||
-- return args.abort()
|
||||
-- end
|
||||
-- args.callback(compe.helper.convert_lsp({
|
||||
-- keyword_pattern_offset = args.keyword_pattern_offset,
|
||||
-- context = args.context,
|
||||
-- request = params,
|
||||
-- response = response,
|
||||
-- }))
|
||||
-- end)
|
||||
--
|
||||
-- function Source._request(self, params, callback)
|
||||
-- local params = vim.lsp.util.make_position_params()
|
||||
-- if self.request_ids['textDocument/completion'] ~= nil then
|
||||
-- self.client.cancel_request(self.request_ids['textDocument/completion'])
|
||||
-- self.request_ids['textDocument/completion'] = nil
|
||||
-- end
|
||||
--
|
||||
-- local _, request_id
|
||||
-- _, request_id = self.client.request('textDocument/completion', params, function(arg1, arg2, arg3, arg4)
|
||||
-- print("hello1")
|
||||
-- if self.request_ids['textDocument/completion'] ~= request_id then
|
||||
-- return
|
||||
-- end
|
||||
-- print("hello2")
|
||||
-- end)
|
||||
-- self.request_ids['textDocument/completion'] = request_id
|
||||
-- end
|
||||
--
|
||||
|
@ -124,10 +124,6 @@ packer.startup(function(use)
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
cmp.setup({
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
completion = {
|
||||
autocomplete = false
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user