Browse Source

Devdocs support

main
Yigit Colakoglu 1 year ago
parent
commit
3ba4441b9f
5 changed files with 74 additions and 10 deletions
  1. +37
    -10
      .config/nvim/lua/config/plugin/nvim-cmp.lua
  2. +17
    -0
      .config/nvim/lua/config/plugin/nvim-devdocs.lua
  3. +6
    -0
      .config/nvim/lua/keybinds/plugin.lua
  4. +5
    -0
      .config/nvim/lua/keybinds/telescope.lua
  5. +9
    -0
      .config/nvim/lua/plugins.lua

+ 37
- 10
.config/nvim/lua/config/plugin/nvim-cmp.lua View File

@ -1,5 +1,12 @@
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
return function()
local cmp = require'cmp'
local snippy = require("snippy")
local lspkind = require('lspkind')
cmp.setup({
@ -17,18 +24,38 @@ return function()
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
local entry = cmp.get_selected_entry()
if not entry then
cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
["<CR>"] = cmp.mapping({
i = function(fallback)
if cmp.visible() and cmp.get_active_entry() then
cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false })
else
cmp.confirm()
fallback()
end
else
fallback()
end
end, {"i","s","c",}),
end,
s = cmp.mapping.confirm({ select = false }),
c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }),
}),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif snippy.can_expand_or_advance() then
snippy.expand_or_advance()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif snippy.can_jump(-1) then
snippy.previous()
else
fallback()
end
end, { "i", "s" }),
}),
sources = cmp.config.sources({
{ name = "copilot" },


+ 17
- 0
.config/nvim/lua/config/plugin/nvim-devdocs.lua View File

@ -0,0 +1,17 @@
return function ()
require('nvim-devdocs').setup({
float_win = {
relative = "editor",
height = 50,
width = 170,
border = "rounded",
},
wrap = false,
previewer_cmd = "glow",
cmd_args = { "-s", "dark", "-w", "80" },
after_open = function(bufnr)
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<Esc>', ':close<CR>', {})
end
})
end

+ 6
- 0
.config/nvim/lua/keybinds/plugin.lua View File

@ -57,5 +57,11 @@ map('n', '<Leader>G', "<Cmd> Neogit<CR>", {
desc = "Open Neogit"
})
map('n', '<Leader>lz', "<Cmd>DevdocsOpenFloat<CR>", {
noremap = true,
desc = "Open devdocs viewer"
})
vim.keymap.set("n", "<C-e>", function() toggle_telescope(harpoon:list()) end,
{ desc = "Open harpoon window" })

+ 5
- 0
.config/nvim/lua/keybinds/telescope.lua View File

@ -41,6 +41,11 @@ map('n', '<Leader>lw', "<Cmd>lua require('telescope.builtin').diagnostics()<CR>"
desc = "List diagnostic items"
})
map('n', '<Leader>lm', "<Cmd>lua require('telescope.builtin').man_pages()<CR>", {
noremap = true,
desc = "List view manpage"
})
map('n', '<Leader><Space>', "<Cmd>lua vim.lsp.buf.code_action()<CR>", {
noremap = true,
desc = "Pick code action"


+ 9
- 0
.config/nvim/lua/plugins.lua View File

@ -275,5 +275,14 @@ return {
"mfussenegger/nvim-dap",
},
opts = {}
},
{
"luckasRanarison/nvim-devdocs",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
"nvim-treesitter/nvim-treesitter",
},
config = require("config.plugin.nvim-devdocs")
}
}

Loading…
Cancel
Save