feat(nvim): dap support, fix(nvim): eslint & prettier formatting

This commit is contained in:
Evan Reichard 2024-02-06 09:17:44 -05:00
parent 75524e6375
commit 24300b24ae
10 changed files with 140 additions and 49 deletions

View File

@ -56,44 +56,77 @@ map alt+right neighboring_window right
map alt+up neighboring_window up
# -------------------------------------------------------
# ------------------ Nord Color Scheme ------------------
# ----------------- 1984 Orwellian Theme ----------------
# -------------------------------------------------------
foreground #D8DEE9
background #2E3440
foreground #f1f1f1
background #2e2923
selection_foreground #000000
selection_background #FFFACD
url_color #0087BD
cursor #81A1C1
selection_background #3fc4ce
color0 #000000
color1 #e74946
color2 #4cb605
color3 #fcd395
color4 #356fe4
color5 #fcbe95
color6 #3fc4ce
color7 #f1f1f1
color8 #000000
color9 #e74946
color10 #4cb605
color11 #fcd395
color12 #356fe4
color13 #fcbe95
color14 #3fc4ce
color15 #f1f1f1
# Black
color0 #3B4252
color8 #4C566A
# URL styles
url_color #e74946
url_style single
# Red
color1 #BF616A
color9 #BF616A
# Cursor styles
cursor #3fc4ce
# Green
color2 #A3BE8C
color10 #A3BE8C
# Yellow
color3 #EBCB8B
color11 #EBCB8B
# Blue
color4 #81A1C1
color12 #81A1C1
# Magenta
color5 #B48EAD
color13 #B48EAD
# Cyan
color6 #88C0D0
color14 #8FBCBB
# White
color7 #E5E9F0
color15 #ECEFF4
# -------------------------------------------------------
# ------------------ Nord Color Scheme ------------------
# -------------------------------------------------------
#
# foreground #D8DEE9
# background #2E3440
# selection_foreground #000000
# selection_background #FFFACD
# url_color #0087BD
# cursor #81A1C1
#
# # Black
# color0 #3B4252
# color8 #4C566A
#
# # Red
# color1 #BF616A
# color9 #BF616A
#
# # Green
# color2 #A3BE8C
# color10 #A3BE8C
#
# # Yellow
# color3 #EBCB8B
# color11 #EBCB8B
#
# # Blue
# color4 #81A1C1
# color12 #81A1C1
#
# # Magenta
# color5 #B48EAD
# color13 #B48EAD
#
# # Cyan
# color6 #88C0D0
# color14 #8FBCBB
#
# # White
# color7 #E5E9F0
# color15 #ECEFF4

View File

@ -1,7 +1,8 @@
-- Set Theme
vim.g.nord_borders = true
vim.g.nord_contrast = true
vim.cmd('colorscheme nord')
-- vim.g.nord_borders = true
-- vim.g.nord_contrast = true
-- vim.cmd('colorscheme nord')
vim.cmd('colorscheme melange')
-- Set Leader
vim.keymap.set("n", "<Space>", "<Nop>", {silent = true})

View File

@ -0,0 +1,20 @@
local dap = require("dap")
local dapui = require("dapui")
local dapgo = require("dap-go")
dapui.setup()
dapgo.setup()
-- Auto Open UI
dap.listeners.before.attach.dapui_config = function() dapui.open() end
dap.listeners.before.launch.dapui_config = function() dapui.open() end
dap.listeners.before.event_terminated.dapui_config =
function() dapui.close() end
dap.listeners.before.event_exited.dapui_config = function() dapui.close() end
-- Leader Keys
local opts = {noremap = true, silent = true}
vim.keymap.set('n', '<leader>db', dap.toggle_breakpoint, opts)
vim.keymap.set('n', '<leader>du', dapui.toggle, opts)
vim.keymap.set('n', '<leader>dc', dap.continue, opts)
vim.keymap.set('n', '<leader>dt', dapgo.debug_test, opts)

View File

@ -1,3 +1,3 @@
vim.keymap.set('n', '<leader>do', '<cmd>DiffviewOpen<CR>')
vim.keymap.set('n', '<leader>dc', '<cmd>DiffviewClose<CR>')
vim.keymap.set('n', '<leader>dh', '<cmd>DiffviewFileHistory<CR>')
vim.keymap.set('n', '<leader>go', '<cmd>DiffviewOpen<CR>')
vim.keymap.set('n', '<leader>gc', '<cmd>DiffviewClose<CR>')
vim.keymap.set('n', '<leader>gh', '<cmd>DiffviewFileHistory<CR>')

View File

@ -3,6 +3,7 @@ require('aerial-config')
require('autopairs-config')
require('cmp-config')
require('comment-config')
require('dap-config')
require('diffview-config')
require('leap-config')
require('lsp-config')

View File

@ -69,7 +69,8 @@ nvim_lsp.tsserver.setup {
["textDocument/publishDiagnostics"] = function() end
},
capabilities = capabilities,
cmd = {nix_vars.tsserver, "--stdio", "--tsserver-path", nix_vars.tslib}
cmd = {nix_vars.tsserver, "--stdio"}
-- cmd = {nix_vars.tsserver, "--stdio", "--tsserver-path", nix_vars.tslib}
}
-- Javascript / Typescript LSP Configuration
@ -93,13 +94,28 @@ nvim_lsp.gopls.setup {
------------------------------------------------------
local null_ls = require("null-ls")
local eslint_root_files = {
".eslintrc", ".eslintrc.js", ".eslintrc.json", ".eslintrc.yml"
}
local prettier_root_files = {
".prettierrc", ".prettierrc.js", ".prettierrc.json"
}
null_ls.setup({
sources = {
null_ls.builtins.formatting.prettier.with({
condition = function(utils)
return not utils.has_file(".eslintrc.yml")
end
}), null_ls.builtins.formatting.eslint.with({
condition = function(utils)
return utils.has_file(".eslintrc.yml")
end
}), null_ls.builtins.formatting.djlint.with({filetypes = {"template"}}),
null_ls.builtins.completion.spell,
null_ls.builtins.formatting.nixpkgs_fmt,
null_ls.builtins.formatting.lua_format,
null_ls.builtins.formatting.prettier.with({filetypes = {"svelte"}}),
null_ls.builtins.formatting.prettier, null_ls.builtins.formatting.gofmt,
null_ls.builtins.formatting.gofmt,
null_ls.builtins.diagnostics.sqlfluff,
null_ls.builtins.formatting.sqlfluff
},

View File

@ -1,6 +1,7 @@
require('lualine').setup({
options = {
theme = "nord"
theme = "gruvbox_dark"
-- theme = "nord"
-- theme = "OceanicNext",
}
})

View File

@ -15,6 +15,13 @@ wk.register({
e = {"Open Diagnostic Float"}
},
d = {
name = "Debug",
b = {"Toggle Breakpoint"},
u = {"Toggle UI"},
c = {"Continue"},
t = {"Run Test"}
},
g = {
name = "DiffView",
o = {"<cmd>DiffviewOpen<cr>", "Open Diff"},
c = {"<cmd>DiffviewClose<cr>", "Close Diff"},

View File

@ -48,15 +48,24 @@ in
# ------------------
lualine-nvim # Bottom Line
noice-nvim # UI Tweaks
# nord-nvim # Theme
melange-nvim # Theme
nvim-notify # Noice Dependency
nord-nvim # Theme
nvim-web-devicons # Dev Icons
# ------------------
# --- Treesitter ---
# ------------------
nvim-treesitter-context
nvim-treesitter.withAllGrammars
# ------------------
# ------ DAP -------
# ------------------
nvim-dap
nvim-dap-go
nvim-dap-ui
# ------------------
# ----- Silicon ----
# ------------------
@ -77,19 +86,21 @@ in
extraPackages = with pkgs; [
# Telescope Dependencies
ripgrep
fd
ripgrep
tree-sitter
# LSP Dependencies
go
gopls
nodePackages.eslint
nodePackages.pyright
nodePackages.typescript
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
gopls
go
# Formatters
djlint
luaformatter
nixpkgs-fmt
nodePackages.prettier

View File

@ -5,6 +5,7 @@
enable = true;
settings = {
git-mode = "compact";
theme = "gruvbox";
};
modules = [
"host"