1
1
Fork 1
mirror of https://github.com/oddlama/nix-config.git synced 2025-10-11 07:10:39 +02:00

feat(neovim): enable dap

This commit is contained in:
oddlama 2024-03-13 17:31:37 +01:00
parent afa8e02c18
commit af91ba38a5
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
5 changed files with 102 additions and 89 deletions

View file

@ -12,6 +12,7 @@
};
cmp_luasnip.enable = true;
cmp-dap.enable = true;
cmp-cmdline.enable = true;
cmp-cmdline-history.enable = true;
cmp-path.enable = true;
@ -29,7 +30,8 @@
{name = "nvim_lsp_document_symbol";}
{name = "path";}
{name = "treesitter";}
{name = "luasnip";}
{name = "dap";}
# {name = "luasnip";}
{name = "emoji";}
];
mapping = {
@ -105,50 +107,50 @@
*/
''
function(_, vim_item)
local icons = {
Namespace = "󰌗",
Text = "󰉿",
Method = "󰆧",
Function = "󰆧",
Constructor = "",
Field = "󰜢",
Variable = "󰀫",
Class = "󰠱",
Interface = "",
Module = "",
Property = "󰜢",
Unit = "󰑭",
Value = "󰎠",
Enum = "",
Keyword = "󰌋",
Snippet = "",
Color = "󰏘",
File = "󰈚",
Reference = "󰈇",
Folder = "󰉋",
EnumMember = "",
Constant = "󰏿",
Struct = "󰙅",
Event = "",
Operator = "󰆕",
TypeParameter = "󰊄",
Table = "",
Object = "󰅩",
Tag = "",
Array = "󰅪",
Boolean = "",
Number = "",
Null = "󰟢",
String = "󰉿",
Calendar = "",
Watch = "󰥔",
Package = "",
Copilot = "",
Codeium = "",
TabNine = "",
}
vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind)
return vim_item
local icons = {
Namespace = "󰌗",
Text = "󰉿",
Method = "󰆧",
Function = "󰆧",
Constructor = "",
Field = "󰜢",
Variable = "󰀫",
Class = "󰠱",
Interface = "",
Module = "",
Property = "󰜢",
Unit = "󰑭",
Value = "󰎠",
Enum = "",
Keyword = "󰌋",
Snippet = "",
Color = "󰏘",
File = "󰈚",
Reference = "󰈇",
Folder = "󰉋",
EnumMember = "",
Constant = "󰏿",
Struct = "󰙅",
Event = "",
Operator = "󰆕",
TypeParameter = "󰊄",
Table = "",
Object = "󰅩",
Tag = "",
Array = "󰅪",
Boolean = "",
Number = "",
Null = "󰟢",
String = "󰉿",
Calendar = "",
Watch = "󰥔",
Package = "",
Copilot = "",
Codeium = "",
TabNine = "",
}
vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind)
return vim_item
end
'';
snippet.expand =

View file

@ -27,22 +27,6 @@
# TODO for wayland:
# clipboard.providers.wl-copy.enable = true;
#colorschemes.catppuccin = {
# enable = true;
# flavour = "mocha";
# integrations = {
# dap.enabled = true;
# dap.enable_ui = true;
# fidget = true;
# indent_blankline = {
# enabled = true;
# colored_indent_levels = true;
# };
# native_lsp.enabled = true;
# };
#};
#colorschemes.onedark.enable = true;
luaLoader.enable = true;
globals.mapleader = ",";
@ -114,7 +98,7 @@
(keymap ["t"] "<C-w>" "<C-\\><C-n><C-w>" "")
# Open fixed size terminal window at the bottom
(keymap ["n"] "<leader><CR>" ":belowright new | setlocal wfh | resize 10 | terminal<CR>" "")
(keymap ["n"] "<leader><CR>" ":belowright new | setlocal wfh | resize 10 | terminal<CR>" "Open Terminal")
# -------------------------------------------------------------------------------------------------
# Language server
@ -219,29 +203,29 @@
(keymap ["n"] "<leader>C" "<cmd>TextCaseOpenTelescopeQuickChange<CR>" "Change word case")
(keymap ["n"] "<leader>cu" "<cmd>lua require('textcase').current_word('to_upper_case')<CR>" "To UPPER CASE")
(keymap ["n"] "<leader>cl" "<cmd>lua require('textcase').current_word('to_lower_case')<CR>" "To lower case")
(keymap ["n"] "<leader>cs" "<cmd>lua require('textcase').current_word('to_snake_case')<CR>" "To snake_case")
(keymap ["n"] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dash_case')<CR>" "To dash-case")
(keymap ["n"] "<leader>cn" "<cmd>lua require('textcase').current_word('to_constant_case')<CR>" "To CONSTANT_CASE")
(keymap ["n"] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dot_case')<CR>" "To dot.case")
(keymap ["n"] "<leader>ca" "<cmd>lua require('textcase').current_word('to_phrase_case')<CR>" "To Phrase case")
(keymap ["n"] "<leader>cc" "<cmd>lua require('textcase').current_word('to_camel_case')<CR>" "To camelCase")
(keymap ["n"] "<leader>cp" "<cmd>lua require('textcase').current_word('to_pascal_case')<CR>" "To PascalCase")
(keymap ["n"] "<leader>ct" "<cmd>lua require('textcase').current_word('to_title_case')<CR>" "To Title Case")
(keymap ["n"] "<leader>cf" "<cmd>lua require('textcase').current_word('to_path_case')<CR>" "To path/case")
(keymap ["n"] "<leader>cu" "<cmd>lua require('textcase').current_word('to_upper_case')<CR><right>" "To UPPER CASE")
(keymap ["n"] "<leader>cl" "<cmd>lua require('textcase').current_word('to_lower_case')<CR><right>" "To lower case")
(keymap ["n"] "<leader>cs" "<cmd>lua require('textcase').current_word('to_snake_case')<CR><right>" "To snake_case")
(keymap ["n"] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dash_case')<CR><right>" "To dash-case")
(keymap ["n"] "<leader>cn" "<cmd>lua require('textcase').current_word('to_constant_case')<CR><right>" "To CONSTANT_CASE")
(keymap ["n"] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dot_case')<CR><right>" "To dot.case")
(keymap ["n"] "<leader>ca" "<cmd>lua require('textcase').current_word('to_phrase_case')<CR><right>" "To Phrase case")
(keymap ["n"] "<leader>cc" "<cmd>lua require('textcase').current_word('to_camel_case')<CR><right>" "To camelCase")
(keymap ["n"] "<leader>cp" "<cmd>lua require('textcase').current_word('to_pascal_case')<CR><right>" "To PascalCase")
(keymap ["n"] "<leader>ct" "<cmd>lua require('textcase').current_word('to_title_case')<CR><right>" "To Title Case")
(keymap ["n"] "<leader>cf" "<cmd>lua require('textcase').current_word('to_path_case')<CR><right>" "To path/case")
(keymap ["n"] "<leader>cU" "<cmd>lua require('textcase').lsp_rename('to_upper_case')<CR>" "To UPPER CASE")
(keymap ["n"] "<leader>cL" "<cmd>lua require('textcase').lsp_rename('to_lower_case')<CR>" "To lower case")
(keymap ["n"] "<leader>cS" "<cmd>lua require('textcase').lsp_rename('to_snake_case')<CR>" "To snake_case")
(keymap ["n"] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dash_case')<CR>" "To dash-case")
(keymap ["n"] "<leader>cN" "<cmd>lua require('textcase').lsp_rename('to_constant_case')<CR>" "To CONSTANT_CASE")
(keymap ["n"] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dot_case')<CR>" "To dot.case")
(keymap ["n"] "<leader>cA" "<cmd>lua require('textcase').lsp_rename('to_phrase_case')<CR>" "To Phrase case")
(keymap ["n"] "<leader>cC" "<cmd>lua require('textcase').lsp_rename('to_camel_case')<CR>" "To camelCase")
(keymap ["n"] "<leader>cP" "<cmd>lua require('textcase').lsp_rename('to_pascal_case')<CR>" "To PascalCase")
(keymap ["n"] "<leader>cT" "<cmd>lua require('textcase').lsp_rename('to_title_case')<CR>" "To Title Case")
(keymap ["n"] "<leader>cF" "<cmd>lua require('textcase').lsp_rename('to_path_case')<CR>" "To path/case")
(keymap ["n"] "<leader>cU" "<cmd>lua require('textcase').lsp_rename('to_upper_case')<CR><right>" "LSP Rename: To UPPER CASE")
(keymap ["n"] "<leader>cL" "<cmd>lua require('textcase').lsp_rename('to_lower_case')<CR><right>" "LSP Rename: To lower case")
(keymap ["n"] "<leader>cS" "<cmd>lua require('textcase').lsp_rename('to_snake_case')<CR><right>" "LSP Rename: To snake_case")
(keymap ["n"] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dash_case')<CR><right>" "LSP Rename: To dash-case")
(keymap ["n"] "<leader>cN" "<cmd>lua require('textcase').lsp_rename('to_constant_case')<CR><right>" "LSP Rename: To CONSTANT_CASE")
(keymap ["n"] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dot_case')<CR><right>" "LSP Rename: To dot.case")
(keymap ["n"] "<leader>cA" "<cmd>lua require('textcase').lsp_rename('to_phrase_case')<CR><right>" "LSP Rename: To Phrase case")
(keymap ["n"] "<leader>cC" "<cmd>lua require('textcase').lsp_rename('to_camel_case')<CR><right>" "LSP Rename: To camelCase")
(keymap ["n"] "<leader>cP" "<cmd>lua require('textcase').lsp_rename('to_pascal_case')<CR><right>" "LSP Rename: To PascalCase")
(keymap ["n"] "<leader>cT" "<cmd>lua require('textcase').lsp_rename('to_title_case')<CR><right>" "LSP Rename: To Title Case")
(keymap ["n"] "<leader>cF" "<cmd>lua require('textcase').lsp_rename('to_path_case')<CR><right>" "LSP Rename: To path/case")
];
};

View file

@ -1,4 +1,4 @@
{
{pkgs, ...}: {
programs.nixvim = {
files."ftplugin/nix.lua".extraConfigLua = ''
vim.opt_local.expandtab = true
@ -26,9 +26,6 @@
nixvimInjections = true;
};
# Show the current function / context in topmost line
treesitter-context.enable = true;
# Cargo.toml dependency completion
crates-nvim = {
enable = true;
@ -40,6 +37,21 @@
rustaceanvim = {
enable = true;
server.settings.files.excludeDirs = [".direnv"];
dap.autoloadConfigurations = true;
dap.adapter = let
code-lldb = pkgs.vscode-extensions.vadimcn.vscode-lldb;
in {
executable.command = "${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
executable.args = [
"--liblldb"
"${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/lldb/lib/liblldb.dylib"
"--port"
"31337"
];
type = "server";
port = "31337";
host = "127.0.0.1";
};
};
};
};

View file

@ -71,6 +71,12 @@
};
};
# TODO dap.enable = true;
dap = {
enable = true;
extensions = {
dap-virtual-text.enable = true;
dap-ui.enable = true;
};
};
};
}

View file

@ -28,6 +28,15 @@
enable = true;
enabledExtensions = ["fzf" "notify" "ui-select" "textcase"];
extensions.fzf-native.enable = true;
defaults.mappings.i."<esc>".__raw =
/*
lua
*/
''
function(...)
return require("telescope.actions").close(...)
end
'';
};
# Undo tree