diff --git a/home/vimrc.lua b/home/vimrc.lua deleted file mode 100644 index cf973c4..0000000 --- a/home/vimrc.lua +++ /dev/null @@ -1,233 +0,0 @@ --- Basic settings -vim.g.loaded_matchparen = true -vim.g.netrw_liststyle = 3 -vim.wo.number = true - -local glob_opts = { - background = 'dark', - belloff = 'all', - breakindent = true, - hlsearch = false, - laststatus = 0, - lazyredraw = true, - showcmd = true, - synmaxcol = 800, - syntax = 'on', - termguicolors = true, - titleold = vim.fn.getcwd(), - title = true, - wildmenu = true, - wrap = true, -} - -for option, value in pairs(glob_opts) do - vim.go[option] = value -end - - -vim.cmd([[colorscheme gruvbox]]) - -require 'nvim-treesitter.configs'.setup { - highlight = { enable = true, disable = {} }, - indent = { enable = false, disable = {} }, - rainbow = { - enable = true, - extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean - max_file_lines = 1000, -- Do not enable for files with more than 1000 lines, int - colors = { - '#ff0000', '#ffa500', '#ffff00', '#008000', '#0051a0', '#8003f2' - } -- table of hex strings - } -} - --- Mappings. --- See `:help vim.diagnostic.*` for documentation on any of the below functions -local opts = { noremap = true, silent = true } -vim.api.nvim_set_keymap('n', 'e', - 'lua vim.diagnostic.open_float()', opts) -vim.api.nvim_set_keymap('n', 'q', - 'lua vim.diagnostic.setloclist()', opts) -vim.api.nvim_set_keymap('n', 'Q', 'nohl', opts) -vim.api.nvim_set_keymap('n', 'j', 'gj', opts) -vim.api.nvim_set_keymap('n', 'k', 'gk', opts) -vim.api.nvim_set_keymap('v', 'j', 'gj', opts) -vim.api.nvim_set_keymap('v', 'k', 'gk', opts) -vim.api.nvim_set_keymap('n', '', '', opts) -vim.api.nvim_set_keymap('n', '', '', opts) -vim.api.nvim_set_keymap('n', '', '', opts) -vim.api.nvim_set_keymap('n', '', '', opts) -vim.api.nvim_set_keymap('n', "", "lua require('fzf-lua').files()", opts) - -vim.api.nvim_create_autocmd('LspAttach', { - desc = 'LSP actions', - callback = function() - local bufmap = function(mode, lhs, rhs) - vim.keymap.set(mode, lhs, rhs, { buffer = true }) - end - - -- Displays hover information about the symbol under the cursor - bufmap('n', 'K', 'lua vim.lsp.buf.hover()') - - -- Jump to the definition - bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') - - -- Jump to declaration - bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') - - -- Lists all the implementations for the symbol under the cursor - bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') - - -- Jumps to the definition of the type symbol - bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') - - -- Lists all the references - bufmap('n', 'gr', 'lua vim.lsp.buf.references()') - - -- Displays a function's signature information - bufmap('n', '', 'lua vim.lsp.buf.signature_help()') - - -- Renames all references to the symbol under the cursor - bufmap('n', 'rn', 'lua vim.lsp.buf.rename()') - - -- Selects a code action available at the current cursor position - bufmap('n', '', 'lua vim.lsp.buf.code_action()') - bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') - - -- Show diagnostics in a floating window - bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') - - -- Move to the previous diagnostic - bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') - - -- Move to the next diagnostic - bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') - - -- Format current buffer - bufmap('n', 'f', function() vim.lsp.buf.format { async = true } end) - end -}) - -vim.diagnostic.config({ virtual_text = false}) -- Turn off inline diagnostics - --- Show all diagnostics on current line in floating window -vim.api.nvim_set_keymap( 'n', 'd', ':lua vim.diagnostic.open_float()', opts) - --- Go to next diagnostic (if there are multiple on the same line, only shows --- one at a time in the floating window) -vim.api.nvim_set_keymap( 'n', 'n', ':lua vim.diagnostic.goto_next()', opts) - --- Go to prev diagnostic (if there are multiple on the same line, only shows --- one at a time in the floating window) -vim.api.nvim_set_keymap( 'n', 'p', ':lua vim.diagnostic.goto_prev()', opts) - --- Use a loop to conveniently call 'setup' on multiple servers and --- map buffer local keybindings when the language server attaches -local cmp = require 'cmp' -cmp.setup({ - snippet = { - expand = function(args) - vim.fn["UltiSnips#Anon"](args.body) - end, - }, - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'buffer' }, - { name = 'path' }, - { name = 'ultisnips' }, - }), - mapping = { - [""] = cmp.mapping({ - i = function(fallback) - if cmp.visible() then - cmp.select_next_item({ behavior = cmp.SelectBehavior.Insert }) - else - fallback() - end - end, - }), - [""] = cmp.mapping({ - i = function(fallback) - if cmp.visible() then - cmp.select_prev_item({ behavior = cmp.SelectBehavimr.Insert }) - else - fallback() - end - end, - }), - [''] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), { 'i' }), - [''] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), { 'i' }), - [''] = cmp.mapping({ - i = function(fallback) - if cmp.visible() then - cmp.select_next_item({ behavior = cmp.SelectBehavior.Select }) - else - fallback() - end - end - }), - [''] = cmp.mapping({ - i = function(fallback) - if cmp.visible() then - cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select }) - else - fallback() - end - end - }), - [''] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), - [''] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), - [''] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), - [''] = cmp.mapping({ i = cmp.mapping.close(), c = cmp.mapping.close() }), - [''] = cmp.mapping({ - i = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }), - }), - } -}) - -local servers = { 'pyright', 'rust_analyzer', 'ccls', 'nixd', 'texlab', 'zls' } -local capabilities = require('cmp_nvim_lsp').default_capabilities() -for _, lsp in pairs(servers) do - require('lspconfig')[lsp].setup { - capabilities = capabilities - } -end - -require('lspconfig').lua_ls.setup({ - capabilities = capabilities, - single_file_support = true, - settings = { - Lua = { - diagnostics = { - globals = { 'vim' }, - }, - runtime = { - version = 'LuaJIT', - path = vim.split(package.path, ';'), - }, - workspace = { - library = { - [vim.fn.expand('$VIMRUNTIME/lua')] = true, - [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, - }, - }, - telemetry = { - enable = false, - }, - }, - }, -}) - -require('lspconfig').verible.setup({ - capabilities = capabilities, - root_dir = function() return vim.loop.cwd() end -}) - -if vim.fn.exists('+undofile') ~= 0 then - local undo_dir = vim.env.HOME .. '/.config/nvim/undo' - if vim.fn.isdirectory(undo_dir) == 0 then vim.fn.mkdir(undo_dir, 'p') end - vim.o.undodir = undo_dir - vim.o.undofile = true -end - -vim.cmd([[syntax sync minlines=100]]) -vim.cmd([[syntax sync maxlines=140]]) diff --git a/home/vimrc.nix b/home/vimrc.nix deleted file mode 100644 index 6afbacc..0000000 --- a/home/vimrc.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - pkgs, - vimUtils, - fetchFromGitHub, -}: { - extraPackages = with pkgs; [ - ccls - luaformatter - nixd - pyright - rust-analyzer - sumneko-lua-language-server - svls - texlab - verible - zls - ]; - - plugins = with pkgs.vimPlugins; [ - (nvim-treesitter.withPlugins (parsers: [ - parsers.c - parsers.cpp - parsers.json - parsers.latex - parsers.lua - parsers.nix - parsers.python - parsers.query - parsers.rust - parsers.verilog - parsers.vimdoc - parsers.zig - ])) - cmp-buffer - cmp-cmdline - cmp-nvim-lsp - cmp-nvim-ultisnips - cmp-path - colorizer - fugitive - fzf-lua - gruvbox - nvim-cmp - nvim-lspconfig - nvim-ts-rainbow - repeat - targets-vim - UltiSnips - vim-addon-nix - vim-signify - vim-slime - vim-snippets - zig-vim - ]; -}