diff options
Diffstat (limited to 'modules/neovim')
| -rw-r--r-- | modules/neovim/default.nix | 27 | ||||
| -rw-r--r-- | modules/neovim/nvim/after/ftplugin/lua.lua | 1 | ||||
| -rw-r--r-- | modules/neovim/nvim/lua/config/colorscheme.lua | 66 | ||||
| -rw-r--r-- | modules/neovim/nvim/lua/config/lsp/init.lua | 6 | ||||
| -rw-r--r-- | modules/neovim/nvim/lua/config/settings.lua | 62 | ||||
| -rw-r--r-- | modules/neovim/nvim/lua/config/treesitter.lua | 27 |
6 files changed, 132 insertions, 57 deletions
diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix index e09866d..14665dd 100644 --- a/modules/neovim/default.nix +++ b/modules/neovim/default.nix @@ -22,12 +22,21 @@ in programs.neovim = { enable = true; defaultEditor = true; - viAlias = true; - vimAlias = true; + viAlias = false; + vimAlias = false; vimdiffAlias = true; plugins = with pkgs.vimPlugins; [ + nvim-treesitter (nvim-treesitter.withPlugins (p: with p; [ tree-sitter-nix + tree-sitter-make + tree-sitter-verilog + tree-sitter-scheme + tree-sitter-llvm + tree-sitter-html + tree-sitter-glsl + tree-sitter-devicetree + tree-sitter-cuda tree-sitter-c tree-sitter-cpp tree-sitter-lua @@ -55,13 +64,17 @@ in # extraLuaPackages = ps: with ps; [ # ]; extraLuaConfig = '' - vim.cmd[[colorscheme ${scheme.name}]] - ${builtins.readFile ./nvim/init.lua} - vim.cmd[[${scheme.extraVimConfig}]] vim.cmd[[ - hi StatusLineNC guibg=none guifg=#4c4c4c - hi StatusLine guibg=none guifg=#8f8aac + colorscheme ${scheme.name} + hi PmenuSel guifg=${scheme.base05} guibg=${scheme.base03} + hi StatusLine guibg=fg guifg=bg cterm=reverse gui=bold + hi FloatBorder guifg=${scheme.base01} + hi WinSeparator guifg=${scheme.base01} + hi WinBar guifg=${scheme.base03} ]] + + ${builtins.readFile ./nvim/init.lua} + vim.cmd[[${scheme.extraVimConfig}]] ''; }; }; diff --git a/modules/neovim/nvim/after/ftplugin/lua.lua b/modules/neovim/nvim/after/ftplugin/lua.lua index 2d48451..00ba373 100644 --- a/modules/neovim/nvim/after/ftplugin/lua.lua +++ b/modules/neovim/nvim/after/ftplugin/lua.lua @@ -1,2 +1,3 @@ vim.o.tabstop=2 vim.o.shiftwidth=2 +vim.treesitter.stop() -- newer versions of nvim force this for some reason diff --git a/modules/neovim/nvim/lua/config/colorscheme.lua b/modules/neovim/nvim/lua/config/colorscheme.lua index 7d40492..9b5cf0e 100644 --- a/modules/neovim/nvim/lua/config/colorscheme.lua +++ b/modules/neovim/nvim/lua/config/colorscheme.lua @@ -1,35 +1,35 @@ +-- vim.cmd[[ +-- colorscheme base16-mountain +-- " colorscheme base16-selenized-black +-- hi LineNr guifg=#ceb188 +-- hi LineNrAbove guifg=#262626 +-- hi LineNrBelow guifg=#262626 +-- hi CursorLineNr guifg=#ceb188 guibg=#191919 gui=bold +-- hi FloatBorder guifg=#4c4c4c +-- hi Pmenu guibg=#0d0d0d +-- hi BlinkCmpMenuBorder guifg=#4c4c4c +-- hi BlinkCmpDocBorder guifg=#4c4c4c +-- hi PmenuSel guibg=#191919 guifg=#cacaca +-- hi WinBar guifg=#4c4c4c +-- hi WinSeparator guifg=#191919 +-- " +-- "" status line +-- hi StatusLine guibg=#191919 guifg=#4c4c4c +-- hi StatuslineInactive guibg=#191919 guifg=#4c4c4c gui=NONE +-- hi StatuslineAccent guifg=#0f0f0f guibg=#aca98a gui=bold +-- hi StatuslineInsertAccent guifg=#0f0f0f guibg=#8aabac gui=bold +-- hi StatuslineVisualAccent guifg=#0f0f0f guibg=#8f8aac gui=bold +-- hi StatuslineReplaceAccent guifg=#0f0f0f guibg=#ac8a8c gui=bold +-- hi StatuslineTerminalAccent guifg=#0f0f0f guibg=#ac8a8c gui=bold +-- hi StatuslineCommandAccent guifg=#0f0f0f guibg=#8aac8b gui=bold +-- hi StatuslineFileIcon guibg=#191919 guifg=#8f8aac +-- hi StatuslineInfo guibg=#191919 guifg=#4c4c4c +-- hi LspError guibg=#191919 guifg=#c49ea0 +-- hi LspWarn guibg=#191919 guifg=#8f8aac +-- hi LspInfo guibg=#191919 guifg=#8f8aac +-- hi LspHint guibg=#191919 guifg=#8aabac +-- ]] vim.cmd[[ - colorscheme base16-mountain - " colorscheme base16-selenized-black - hi LineNr guifg=#ceb188 - hi LineNrAbove guifg=#262626 - hi LineNrBelow guifg=#262626 - hi CursorLineNr guifg=#ceb188 guibg=#191919 gui=bold - hi FloatBorder guifg=#4c4c4c - hi Pmenu guibg=#0d0d0d - hi BlinkCmpMenuBorder guifg=#4c4c4c - hi BlinkCmpDocBorder guifg=#4c4c4c - hi PmenuSel guibg=#191919 guifg=#cacaca - hi WinBar guifg=#4c4c4c - hi WinSeparator guifg=#191919 - " - "" status line - hi StatusLine guibg=#191919 guifg=#4c4c4c - hi StatuslineInactive guibg=#191919 guifg=#4c4c4c gui=NONE - hi StatuslineAccent guifg=#0f0f0f guibg=#aca98a gui=bold - hi StatuslineInsertAccent guifg=#0f0f0f guibg=#8aabac gui=bold - hi StatuslineVisualAccent guifg=#0f0f0f guibg=#8f8aac gui=bold - hi StatuslineReplaceAccent guifg=#0f0f0f guibg=#ac8a8c gui=bold - hi StatuslineTerminalAccent guifg=#0f0f0f guibg=#ac8a8c gui=bold - hi StatuslineCommandAccent guifg=#0f0f0f guibg=#8aac8b gui=bold - hi StatuslineFileIcon guibg=#191919 guifg=#8f8aac - hi StatuslineInfo guibg=#191919 guifg=#4c4c4c - hi LspError guibg=#191919 guifg=#c49ea0 - hi LspWarn guibg=#191919 guifg=#8f8aac - hi LspInfo guibg=#191919 guifg=#8f8aac - hi LspHint guibg=#191919 guifg=#8aabac -]] -vim.cmd[[ -hi StatusLineNC guibg=none guifg=#4c4c4c -hi StatusLine guibg=none guifg=#8f8aac +"hi StatusLineNC guibg=none guifg=#4c4c4c +"hi StatusLine guibg=none guifg=#8f8aac ]] diff --git a/modules/neovim/nvim/lua/config/lsp/init.lua b/modules/neovim/nvim/lua/config/lsp/init.lua index f4092ff..2de2d22 100644 --- a/modules/neovim/nvim/lua/config/lsp/init.lua +++ b/modules/neovim/nvim/lua/config/lsp/init.lua @@ -41,6 +41,8 @@ end vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) local client = vim.lsp.get_client_by_id(args.data.client_id) + client.server_capabilities.semanticTokensProvider = nil + vim.keymap.set('n', 'grr', function() vim.lsp.buf.references() end, { desc = "Code references (LSP)" }) @@ -67,6 +69,10 @@ vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) end, { expr = true }) end + -- if client:supports_method(methods.textDocument_semanticTokens) then + -- end + + vim.keymap.set('n', 'E', '<cmd>lua vim.lsp.buf.hover()<CR>', { silent = true }) -- if client:supports_method(methods.textDocument_inlayHint) then -- vim.lsp.inlay_hint.enable() diff --git a/modules/neovim/nvim/lua/config/settings.lua b/modules/neovim/nvim/lua/config/settings.lua index c78cae8..89c96e3 100644 --- a/modules/neovim/nvim/lua/config/settings.lua +++ b/modules/neovim/nvim/lua/config/settings.lua @@ -1,7 +1,9 @@ vim.g.mapleader = ' ' -vim.o.number = true -vim.o.relativenumber = true +-- vim.o.number = true +-- vim.o.relativenumber = true +vim.o.number = false +vim.o.relativenumber = false vim.o.splitright = true vim.o.splitbelow = true vim.o.scrolloff = 15 @@ -9,16 +11,23 @@ vim.o.wrap = false vim.o.lbr = true vim.o.shortmess = vim.o.shortmess .. "I" vim.o.termguicolors = true -vim.opt.fillchars = {eob = " "} +-- vim.opt.fillchars = {eob = " "} --vim.o.smd = false --vim.opt.laststatus = 3 -vim.opt.laststatus=2 +vim.opt.laststatus=3 --%-0{minwid}.{maxwid}{item -vim.opt.statusline="%=%f%=%r %y" -vim.cmd[[ -hi StatusLineNC guibg=none -hi StatusLine guibg=none -]] +-- vim.opt.statusline="%=%f%=%r %p%% « %l, %c %y" +vim.opt.statusline="%f%=%p%% « %l, %c" +-- vim.opt.winbar="%!nvim_treesitter#statusline()" +-- vim.cmd[[ +-- hi StatusLineNC guibg=none +-- hi StatusLine guibg=none +-- ]] +-- vim.cmd[[ +-- hi LineNr guifg=bg +-- hi LineNrAbove guifg=bg +-- hi LineNrBelow guifg=bg +-- ]] vim.opt.pumheight = 6 vim.opt.expandtab = true vim.o.mouse="" @@ -28,3 +37,38 @@ vim.opt.foldmethod = "expr" vim.opt.foldexpr = "v:lua.vim.treesitter.foldexpr()" --vim.opt.foldcolumn = "0" vim.opt.foldlevel = 99 +-- vim.cmd[[syntax off]] +-- vim.o.winborder = 'rounded' breaks telescope +vim.cmd[[set wildchar=<C-n>]] +-- vim.api.nvim_sel_hl(0, 'Comment', {}) +vim.api.nvim_set_hl(0, 'Constant', {}) +-- vim.api.nvim_sel_hl(0, 'String', {}) +vim.api.nvim_set_hl(0, 'Character', {}) +vim.api.nvim_set_hl(0, 'Number', {}) +vim.api.nvim_set_hl(0, 'Boolean', {}) +vim.api.nvim_set_hl(0, 'Float', {}) +vim.api.nvim_set_hl(0, 'Identifier', {}) +vim.api.nvim_set_hl(0, 'Function', {}) +vim.api.nvim_set_hl(0, 'Statement', {}) +vim.api.nvim_set_hl(0, 'Conditional', {}) +vim.api.nvim_set_hl(0, 'Repeat', {}) +vim.api.nvim_set_hl(0, 'Label', {}) +vim.api.nvim_set_hl(0, 'Operator', {}) +vim.api.nvim_set_hl(0, 'Keyword', {}) +vim.api.nvim_set_hl(0, 'Exception', {}) +vim.api.nvim_set_hl(0, 'PreProc', {}) +vim.api.nvim_set_hl(0, 'Include', {}) +vim.api.nvim_set_hl(0, 'Define', {}) +vim.api.nvim_set_hl(0, 'Macro', {}) +vim.api.nvim_set_hl(0, 'PreCondit', {}) +vim.api.nvim_set_hl(0, 'Type', {}) +vim.api.nvim_set_hl(0, 'StorageClass', {}) +vim.api.nvim_set_hl(0, 'Structure', {}) +vim.api.nvim_set_hl(0, 'Typedef', {}) +vim.api.nvim_set_hl(0, 'Special', {}) +vim.api.nvim_set_hl(0, 'SpecialChar', {}) +vim.api.nvim_set_hl(0, 'Tag', {}) +vim.api.nvim_set_hl(0, 'Delimiter', {}) +vim.api.nvim_set_hl(0, 'SpecialComment', {}) +vim.api.nvim_set_hl(0, 'Debug', {}) +vim.api.nvim_set_hl(0, 'Underlined', {}) diff --git a/modules/neovim/nvim/lua/config/treesitter.lua b/modules/neovim/nvim/lua/config/treesitter.lua index 6ce90cf..c92397e 100644 --- a/modules/neovim/nvim/lua/config/treesitter.lua +++ b/modules/neovim/nvim/lua/config/treesitter.lua @@ -1,12 +1,23 @@ require("nvim-treesitter.configs").setup { - highlight = { + highlight = { enable = false }, + indent = { enable = false }, + incremental_selection = { enable = true, - disable = function(lang, buf) - local max_filesize = 100 * 1024 -- 100 KB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - if ok and stats and stats.size > max_filesize then - return true - end - end, + keymaps = { + -- init_selection = "gnn", + init_selection = "g+", + node_incremental = "+", + node_decremental = "_", + }, }, + -- highlight = { + -- enable = false, + -- disable = function(lang, buf) + -- local max_filesize = 100 * 1024 -- 100 KB + -- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + -- if ok and stats and stats.size > max_filesize then + -- return true + -- end + -- end, + -- }, } |