chore: proper keymap documentation and more cleanup
This commit is contained in:
parent
6f9ecd5c96
commit
d46086ec26
16 changed files with 348 additions and 109 deletions
|
|
@ -12,6 +12,7 @@ require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" })
|
|||
|
||||
luasnip.config.set_config({
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
updateevents = "TextChanged,TextChangedI",
|
||||
enable_autosnippets = true,
|
||||
ext_opts = {
|
||||
|
|
@ -26,9 +27,7 @@ luasnip.config.set_config({
|
|||
},
|
||||
})
|
||||
|
||||
--vim.cmd('let g:snipMate = {"snippet_version" : 1 }')
|
||||
require("luasnip/loaders/from_vscode").lazy_load()
|
||||
--require("luasnip.loaders.from_snipmate").lazy_load()
|
||||
|
||||
local check_backspace = function()
|
||||
local col = vim.fn.col(".") - 1
|
||||
|
|
@ -65,11 +64,6 @@ local kind_icons = {
|
|||
}
|
||||
-- find more here: https://www.nerdfonts.com/cheat-sheet
|
||||
|
||||
--local has_words_before = function()
|
||||
-- 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
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
|
|
@ -77,26 +71,13 @@ cmp.setup({
|
|||
end,
|
||||
},
|
||||
mapping = {
|
||||
["<C-k>"] = cmp.mapping.select_prev_item(),
|
||||
--["<C-j>"] = cmp.mapping.select_next_item(),
|
||||
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
||||
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||
["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-1),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(1),
|
||||
["<C-e>"] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
-- mapping = cmp.mapping.preset.insert({
|
||||
-- ['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
-- ['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
-- ['<C-Space>'] = cmp.mapping.complete(),
|
||||
-- ['<C-e>'] = cmp.mapping.abort(),
|
||||
-- ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
-- }),
|
||||
-- Accept currently selected item. If none selected, `select` first item.
|
||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = false }),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
|
|
@ -104,13 +85,9 @@ cmp.setup({
|
|||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<C-j>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif check_backspace() then
|
||||
fallback()
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
|
|
@ -118,8 +95,20 @@ cmp.setup({
|
|||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.jumpable(-1) then
|
||||
["<C-j>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<C-k>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expand_or_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
|
|
@ -129,12 +118,13 @@ cmp.setup({
|
|||
"s",
|
||||
}),
|
||||
},
|
||||
view = {
|
||||
{ entries = "native" },
|
||||
},
|
||||
formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(entry, vim_item)
|
||||
-- Kind icons
|
||||
vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
||||
-- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
||||
vim_item.menu = ({
|
||||
nvim_lsp = "[LSP]",
|
||||
luasnip = "[Snippet]",
|
||||
|
|
@ -147,26 +137,8 @@ cmp.setup({
|
|||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
--{
|
||||
-- name = "buffer",
|
||||
-- option = {
|
||||
-- keyword_pattern = [[\k\+]],
|
||||
-- }
|
||||
--},
|
||||
{ name = "path" },
|
||||
-- {
|
||||
-- name = "spell",
|
||||
-- option = {
|
||||
-- keep_all_entries = false,
|
||||
-- enable_in_context = function()
|
||||
-- return true
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
},
|
||||
confirm_opts = {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false,
|
||||
{ name = "buffer" },
|
||||
},
|
||||
window = {
|
||||
documentation = {
|
||||
|
|
@ -174,7 +146,6 @@ cmp.setup({
|
|||
},
|
||||
},
|
||||
experimental = {
|
||||
ghost_text = false,
|
||||
native_menu = false,
|
||||
ghost_text = true,
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ dashboard.section.header.val = {
|
|||
dashboard.section.buttons.val = {
|
||||
dashboard.button("f", " Find file", ":Telescope find_files <CR>"),
|
||||
dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
|
||||
dashboard.button("p", " Find project", ":Telescope projects <CR>"),
|
||||
dashboard.button("p", " Find project", ":Telescope project <CR>"),
|
||||
dashboard.button("r", " Recently used files", ":Telescope oldfiles <CR>"),
|
||||
dashboard.button("t", " Find text", ":Telescope live_grep <CR>"),
|
||||
dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua <CR>"),
|
||||
|
|
@ -23,12 +23,7 @@ dashboard.section.buttons.val = {
|
|||
}
|
||||
|
||||
local function footer()
|
||||
-- NOTE: requires the fortune-mod package to work
|
||||
-- local handle = io.popen("fortune")
|
||||
-- local fortune = handle:read("*a")
|
||||
-- handle:close()
|
||||
-- return fortune
|
||||
return "dashie@shitgaem.online"
|
||||
return "dashie@dashie.org"
|
||||
end
|
||||
|
||||
dashboard.section.footer.val = footer()
|
||||
|
|
@ -38,5 +33,4 @@ dashboard.section.header.opts.hl = "Include"
|
|||
dashboard.section.buttons.opts.hl = "Keyword"
|
||||
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
-- vim.cmd([[autocmd User AlphaReady echo 'ready']])
|
||||
alpha.setup(dashboard.opts)
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@ vim.g.indent_blankline_context_patterns = {
|
|||
"class",
|
||||
"return",
|
||||
"function",
|
||||
"def",
|
||||
"def",
|
||||
"method",
|
||||
"^if",
|
||||
"^else",
|
||||
"^else if",
|
||||
"^elif",
|
||||
"^else",
|
||||
"^else if",
|
||||
"^elif",
|
||||
"^while",
|
||||
"jsx_element",
|
||||
"^for",
|
||||
|
|
|
|||
|
|
@ -26,24 +26,25 @@ keymap("n", "<F2>", ":BufferNext<CR>", opts)
|
|||
keymap("n", "<F4>", ":lua vim.lsp.buf.format { async = true }<CR>", opts)
|
||||
|
||||
-- telescope
|
||||
keymap("n", "ff", ':lua require("telescope.builtin").find_files()<CR>', {})
|
||||
keymap("n", "fg", ':lua require("telescope.builtin").live_grep()<CR>', {})
|
||||
keymap("n", "fb", ':lua require("telescope.builtin").buffers()<CR>', {})
|
||||
keymap("n", "fh", ':lua require("telescope.builtin").help_tags()<CR>', {})
|
||||
keymap("n", "ff", ":lua require('telescope.builtin').find_files()<CR>", {})
|
||||
keymap("n", "fg", ":lua require('telescope.builtin').live_grep()<CR>", {})
|
||||
keymap("n", "fb", ":lua require('telescope.builtin').buffers()<CR>", {})
|
||||
keymap("n", "fh", ":lua require('telescope.builtin').help_tags()<CR>", {})
|
||||
keymap("n", "fp", ":lua require'telescope'.extensions.project.project{}<CR>", { noremap = true, silent = true })
|
||||
|
||||
-- trouble
|
||||
-- trouble
|
||||
keymap("n", "<C-f>", "<cmd>TroubleToggle<CR>", term_opts)
|
||||
require("trouble").setup {
|
||||
action_keys = {
|
||||
--remove the fucking stupid keymap amk
|
||||
open_tab = {}
|
||||
}
|
||||
}
|
||||
require("trouble").setup({
|
||||
action_keys = {
|
||||
--remove the fucking stupid keymap amk
|
||||
open_tab = {},
|
||||
},
|
||||
})
|
||||
|
||||
-- LSP
|
||||
local on_attach = function(client, bufnr)
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
local opts = { noremap = true, silent = true, buffer=bufnr }
|
||||
local opts = { noremap = true, silent = true, buffer = bufnr }
|
||||
keymap("n", "<leader>h", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
keymap("n", "<leader>j", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
keymap("n", "<leader>k", "<Cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@ require("mason-lspconfig").setup({
|
|||
"cssls", -- css
|
||||
"html", -- html
|
||||
"clangd", -- cpp / c
|
||||
"tsserver", -- python
|
||||
"tsserver", -- javascript / typescript
|
||||
"sumneko_lua", -- lua
|
||||
"pyright", -- python
|
||||
"rust_analyzer", -- rust
|
||||
"cmake", -- cmake
|
||||
"bashls", -- shell
|
||||
"ansiblels", -- ansible
|
||||
"marksman",
|
||||
"marksman", -- markdown
|
||||
},
|
||||
automatic_installation = true,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ require("mason-null-ls").setup({
|
|||
"autopep8",
|
||||
"stylua",
|
||||
"rustfmt",
|
||||
"stylish-haskell",
|
||||
},
|
||||
})
|
||||
|
||||
|
|
@ -33,6 +32,5 @@ null_ls.setup({
|
|||
require("null-ls").builtins.formatting.autopep8,
|
||||
require("null-ls").builtins.formatting.stylua,
|
||||
require("null-ls").builtins.formatting.rustfmt,
|
||||
require("null-ls").builtins.formatting.stylish_haskell,
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ local options = {
|
|||
smartcase = true,
|
||||
showmode = true,
|
||||
termguicolors = true,
|
||||
-- winbar = "",
|
||||
ignorecase = true,
|
||||
showtabline = 2,
|
||||
timeoutlen = 200, -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||
|
|
@ -18,7 +17,7 @@ local options = {
|
|||
expandtab = true, -- convert tabs to spaces
|
||||
shiftwidth = 2, -- the number of spaces inserted for each indentation
|
||||
tabstop = 2, -- insert 2 spaces for a tab
|
||||
scrolloff = 8, -- is one of my fav
|
||||
scrolloff = 8,
|
||||
sidescrolloff = 8,
|
||||
spell = true,
|
||||
syntax = "off",
|
||||
|
|
@ -26,8 +25,6 @@ local options = {
|
|||
mousemodel = "popup_setpos",
|
||||
}
|
||||
|
||||
--vim.opt.shortmess:append "c"
|
||||
|
||||
vim.g.mkdp_browser = '/usr/bin/firefox'
|
||||
vim.g.mkdp_auto_start = 1
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ Plug("numToStr/Comment.nvim") -- fast comments
|
|||
Plug("lukas-reineke/indent-blankline.nvim") -- indicators for indentation (needs config)
|
||||
Plug("lewis6991/impatient.nvim") -- speedup startup
|
||||
Plug("nvim-telescope/telescope.nvim") -- file/text search
|
||||
Plug("ahmedkhalf/project.nvim") -- project management -> switch projects
|
||||
Plug("goolord/alpha-nvim") -- dashboard
|
||||
Plug("lervag/vimtex") -- latex plugin
|
||||
Plug("weilbith/nvim-code-action-menu") -- code action menu
|
||||
|
|
@ -43,8 +42,9 @@ Plug("p00f/nvim-ts-rainbow") -- colors brackets
|
|||
Plug("nvim-telescope/telescope-ui-select.nvim") -- telescope ui
|
||||
Plug("nvim-telescope/telescope-file-browser.nvim") -- telescope file browser
|
||||
Plug("nvim-telescope/telescope-fzy-native.nvim") -- telescope fuzzy search
|
||||
Plug('nvim-telescope/telescope-project.nvim') -- telescope projects
|
||||
Plug 'folke/trouble.nvim' -- provides warning/error explanation tab
|
||||
Plug("iamcco/markdown-preview.nvim", { ["do"] = "cd app && yarn install" }) -- markdown preview
|
||||
|
||||
Plug("iamcco/markdown-preview.nvim", -- markdown preview
|
||||
{ ["do"] = "cd app && yarn install" })
|
||||
vim.call("plug#end")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
local status_ok, project = pcall(require, "project_nvim")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
project.setup({
|
||||
active = true,
|
||||
on_config_done = nil,
|
||||
manual_mode = false,
|
||||
detection_methods = { "pattern" },
|
||||
patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
|
||||
show_hidden = false,
|
||||
silent_chdir = true,
|
||||
ignore_lsp = {},
|
||||
datapath = vim.fn.stdpath("data"),
|
||||
})
|
||||
-- local status_ok, project = pcall(require, "project_nvim")
|
||||
-- if not status_ok then
|
||||
-- return
|
||||
-- end
|
||||
-- project.setup({
|
||||
-- active = true,
|
||||
-- on_config_done = nil,
|
||||
-- manual_mode = false,
|
||||
-- detection_methods = { "pattern" },
|
||||
-- patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
|
||||
-- show_hidden = false,
|
||||
-- silent_chdir = true,
|
||||
-- ignore_lsp = {},
|
||||
-- datapath = vim.fn.stdpath("data"),
|
||||
-- })
|
||||
|
||||
local tele_status_ok, telescope = pcall(require, "telescope")
|
||||
if not tele_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
telescope.load_extension("projects")
|
||||
telescope.load_extension("project")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue