Compare commits
7 Commits
a9d1ee262f
...
6a500118d9
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a500118d9 | |||
| 77462e6cc8 | |||
| 33713717ea | |||
| 5f7713d38b | |||
| bbbc208e4e | |||
| 9a72fc17c4 | |||
| 6bbd10bd24 |
@@ -26,6 +26,8 @@
|
||||
|
||||
web-devicons.enable = true;
|
||||
|
||||
cmp-nvim-lsp.enable = true;
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
@@ -41,6 +43,104 @@
|
||||
bashls.enable = true;
|
||||
#css
|
||||
cssls.enable = true;
|
||||
|
||||
};
|
||||
|
||||
keymaps = {
|
||||
# Diagnostic keymaps
|
||||
diagnostic = {
|
||||
"<leader>q" = {
|
||||
#mode = "n";
|
||||
action = "setloclist";
|
||||
desc = "Open diagnostic [Q]uickfix list";
|
||||
};
|
||||
};
|
||||
|
||||
extra = [
|
||||
# Jump to the definition of the word under your cusor.
|
||||
# This is where a variable was first declared, or where a function is defined, etc.
|
||||
# To jump back, press <C-t>.
|
||||
{
|
||||
mode = "n";
|
||||
key = "gd";
|
||||
action.__raw = "require('telescope.builtin').lsp_definitions";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [D]efinition";
|
||||
};
|
||||
}
|
||||
# Find references for the word under your cursor.
|
||||
{
|
||||
mode = "n";
|
||||
key = "gr";
|
||||
action.__raw = "require('telescope.builtin').lsp_references";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [R]eferences";
|
||||
};
|
||||
}
|
||||
# Jump to the implementation of the word under your cursor.
|
||||
# Useful when your language has ways of declaring types without an actual implementation.
|
||||
{
|
||||
mode = "n";
|
||||
key = "gI";
|
||||
action.__raw = "require('telescope.builtin').lsp_implementations";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [I]mplementation";
|
||||
};
|
||||
}
|
||||
# Jump to the type of the word under your cursor.
|
||||
# Useful when you're not sure what type a variable is and you want to see
|
||||
# the definition of its *type*, not where it was *defined*.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>D";
|
||||
action.__raw = "require('telescope.builtin').lsp_type_definitions";
|
||||
options = {
|
||||
desc = "LSP: Type [D]efinition";
|
||||
};
|
||||
}
|
||||
# Fuzzy find all the symbols in your current document.
|
||||
# Symbols are things like variables, functions, types, etc.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ds";
|
||||
action.__raw = "require('telescope.builtin').lsp_document_symbols";
|
||||
options = {
|
||||
desc = "LSP: [D]ocument [S]ymbols";
|
||||
};
|
||||
}
|
||||
# Fuzzy find all the symbols in your current workspace.
|
||||
# Similar to document symbols, except searches over your entire project.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ws";
|
||||
action.__raw = "require('telescope.builtin').lsp_dynamic_workspace_symbols";
|
||||
options = {
|
||||
desc = "LSP: [W]orkspace [S]ymbols";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
lspBuf = {
|
||||
# Rename the variable under your cursor.
|
||||
# Most Language Servers support renaming across files, etc.
|
||||
"<leader>rn" = {
|
||||
action = "rename";
|
||||
desc = "LSP: [R]e[n]ame";
|
||||
};
|
||||
# Execute a code action, usually your cursor needs to be on top of an error
|
||||
# or a suggestion from your LSP for this to activate.
|
||||
"<leader>ca" = {
|
||||
#mode = "n";
|
||||
action = "code_action";
|
||||
desc = "LSP: [C]ode [A]ction";
|
||||
};
|
||||
# WARN: This is not Goto Definition, this is Goto Declaration.
|
||||
# For example, in C this would take you to the header.
|
||||
"gD" = {
|
||||
action = "declaration";
|
||||
desc = "LSP: [G]oto [D]eclaration";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -50,16 +150,24 @@
|
||||
settings = {
|
||||
sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
{ name = "luasnip"; }
|
||||
{ name = "cmdline"; }
|
||||
# { name = "path"; }
|
||||
# { name = "buffer"; }
|
||||
# { name = "luasnip"; }
|
||||
# { name = "cmdline"; }
|
||||
];
|
||||
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert";
|
||||
};
|
||||
|
||||
mapping = {
|
||||
"[ '<C-u>' ]" = "cmp.mapping.scroll_docs(-4)";
|
||||
"[ '<C-d>' ]" = "cmp.mapping.scroll_docs(4)";
|
||||
# """""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
"<C-n>" = "cmp.mapping.select_next_item()";
|
||||
"<C-p>" = "cmp.mapping.select_prev_item()";
|
||||
"<C-y>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-e>" = "cmp.mapping.abort()";
|
||||
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
};
|
||||
|
||||
snippet.expand = ''
|
||||
@@ -169,6 +277,23 @@
|
||||
action = ":m '<-2<CR>gv=gv";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>y";
|
||||
action = "\"+y";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "v";
|
||||
key = "<leader>y";
|
||||
action = "\"+y";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>s";
|
||||
action = ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>";
|
||||
}
|
||||
];
|
||||
|
||||
extraConfigLua = ''
|
||||
|
||||
Reference in New Issue
Block a user