95 lines
1.8 KiB
Lua
95 lines
1.8 KiB
Lua
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', '<leader>gD', vim.lsp.buf.declaration, opts)
|
|
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition, opts)
|
|
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, opts)
|
|
vim.keymap.set('n', '<leader>H', vim.lsp.buf.hover, opts)
|