diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index bde45bf..d9c4dc5 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -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', '', 'l', {}) -- -- neogit.setup {} -vim.keymap.set("n", "tw", ":set wrap!") +map("n", "tw", ":set wrap!") + +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', '', 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 +-- diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 7cc6d5f..0ddd090 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -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 },