require('keymap') require('plugins') require('calcurse') require('i3conf') require('go') -- prevent cursor override vim.cmd('set guicursor=') -- basic settings vim.cmd('filetype plugin indent on') vim.cmd('set ts=4 sts=4 sw=4 expandtab') -- hybrid numbering vim.opt.relativenumber = true vim.opt.number = true vim.opt.cursorline = true vim.opt.compatible = false -- ignores search case unless capital is used vim.opt.smartcase = true vim.opt.hlsearch = true -- colorscheme and syntax settings vim.cmd([[ syntax enable colorscheme hybrid hi Normal ctermbg=NONE ]]) -- defaults to transparent Transparent = true -- timeouts vim.opt.ttimeout = true vim.opt.ttimeoutlen = 100 -- nvim tree basics vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 -- vimwiki changes vim.cmd([[ let g:vimwiki_list = [{'path': '~/vimwiki/', \ 'syntax': 'markdown', 'ext':'.md'}] ]]) -- language server setup local lspconfig = require('lspconfig') -- Go lspconfig.gopls.setup{ cmd = {"gopls", "server"}, filetypes = {"go", "gomod"}, settings = { gopls = { analyses = { unusedparams = true, }, staticcheck = true, }, }, } -- C/C++ lspconfig.clangd.setup{} -- Lua lspconfig.lua_ls.setup{ settings = { Lua = { diagnostics = {globals = {'vim', 'opts'}}, }, telemetry = { enable = false, }, }, } -- Rust lspconfig.rust_analyzer.setup{} -- Python lspconfig.pylsp.setup{} -- TypeScript lspconfig.tsserver.setup{} -- lsp mappingsd vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) vim.keymap.set('n', 'H', vim.lsp.buf.hover, opts)