diff options
Diffstat (limited to 'config/nvim-2/nvim/vscript')
| -rw-r--r-- | config/nvim-2/nvim/vscript/key.vim | 2 | ||||
| -rw-r--r-- | config/nvim-2/nvim/vscript/lua.vim | 87 | ||||
| -rw-r--r-- | config/nvim-2/nvim/vscript/scp.vim | 29 | ||||
| -rw-r--r-- | config/nvim-2/nvim/vscript/theme.vim | 61 |
4 files changed, 179 insertions, 0 deletions
diff --git a/config/nvim-2/nvim/vscript/key.vim b/config/nvim-2/nvim/vscript/key.vim new file mode 100644 index 0000000..7a1fcf5 --- /dev/null +++ b/config/nvim-2/nvim/vscript/key.vim @@ -0,0 +1,2 @@ +let mapleader="," +nnoremap <Leader>x :!chmod +x %<CR> diff --git a/config/nvim-2/nvim/vscript/lua.vim b/config/nvim-2/nvim/vscript/lua.vim new file mode 100644 index 0000000..aa14c46 --- /dev/null +++ b/config/nvim-2/nvim/vscript/lua.vim @@ -0,0 +1,87 @@ +lua << EOF + +vim.o.termguicolors = true + +local on_attach = function(client, bufnr) + local opts = { buffer = bufnr, remap = false } + + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) + vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts) + vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts) + vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) + vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) +end + +vim.api.nvim_create_autocmd("FileType", { + pattern = { "lua" }, + callback = function() + vim.lsp.start({ + name = "lua_ls", + cmd = { "lua-language-server" }, + on_attach = on_attach, + }) + end, +}) + +vim.api.nvim_create_autocmd("FileType", { + pattern = { "python" }, + callback = function() + vim.lsp.start({ + name = "pyright", + cmd = { "pyright-langserver", "--stdio" }, + on_attach = on_attach, + }) + end, +}) + +vim.api.nvim_create_autocmd("FileType", { + pattern = { "c", "cpp" }, + callback = function() + vim.lsp.start({ + name = "clangd", + cmd = { "clangd" }, + on_attach = on_attach, + }) + end, +}) + +local cmp = require("cmp") + +cmp.setup({ + snippet = { + expand = function(args) + vim.snippet.expand(args.body) + end, + }, + + mapping = cmp.mapping.preset.insert({ + ["<C-Space>"] = cmp.mapping.complete(), + ["<CR>"] = cmp.mapping.confirm({ select = true }), + }), + + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "buffer" }, + }), +}) + +vim.diagnostic.config({ + virtual_text = true, + signs = true, + underline = true, + update_in_insert = false, + severity_sort = true, + + float = { + border = "rounded", + source = true, + }, +}) + + +--autopairs? +require("nvim-autopairs").setup() + +EOF diff --git a/config/nvim-2/nvim/vscript/scp.vim b/config/nvim-2/nvim/vscript/scp.vim new file mode 100644 index 0000000..6824c18 --- /dev/null +++ b/config/nvim-2/nvim/vscript/scp.vim @@ -0,0 +1,29 @@ +function! Sc(char) + let closing = {'(': ')', '[': ']', '{': '}', '<': '>', '"': '"', "'": "'"} + + if has_key(closing, a:char) + let line = getline('.') + let col = col('.') - 1 + let before = col > 0 ? line[col-1] : '' + let after = col < len(line) ? line[col] : '' + if before =~ '\w' && after =~ '\w' + return a:char + endif + if (a:char == '"' || a:char == "'") && before == a:char + return a:char + endif + if after == closing[a:char] + return "\<Right>" + endif + return a:char . closing[a:char] . "\<Left>" + endif + + return a:char +endfunction + +inoremap ( <C-R>=Sc('(')<CR> +inoremap [ <C-R>=Sc('[')<CR> +inoremap { <C-R>=Sc('{')<CR> +inoremap < <C-R>=Sc('<')<CR> +inoremap " <C-R>=Sc('"')<CR> +inoremap ' <C-R>=Sc("'")<CR> diff --git a/config/nvim-2/nvim/vscript/theme.vim b/config/nvim-2/nvim/vscript/theme.vim new file mode 100644 index 0000000..02993f3 --- /dev/null +++ b/config/nvim-2/nvim/vscript/theme.vim @@ -0,0 +1,61 @@ +set background=dark +hi clear +if exists("syntax_on") + syntax reset +endif +let g:coastcolors_name = "coastcolors" + +hi Normal guifg=#E7E2DB guibg=NONE gui=NONE +hi NormalNC guifg=#E7E2DB guibg=NONE gui=NONE +hi NormalFloat guifg=#E7E2DB guibg=#141414 gui=NONE + +hi LineNr guifg=#9F6A5E guibg=NONE +hi CursorLineNr guifg=#C4A08A guibg=NONE gui=bold +hi CursorLine guibg=#141414 +hi CursorColumn guibg=#141414 +hi ColorColumn guibg=#101010 + +hi SignColumn guifg=#9F6A5E guibg=NONE +hi FoldColumn guifg=#9F6A5E guibg=NONE +hi Folded guifg=#C4A08A guibg=#141414 gui=italic + +hi VertSplit guifg=#2A2A2A +hi WinSeparator guifg=#2A2A2A + +hi StatusLine guifg=#E7E2DB guibg=#1A1A1A +hi StatusLineNC guifg=#9F6A5E guibg=#141414 + +hi TabLine guifg=#C4A08A guibg=#141414 +hi TabLineSel guifg=#E7E2DB guibg=#9F6A5E gui=bold +hi TabLineFill guibg=#141414 + +hi Visual guibg=#2A2A2A +hi VisualNOS guibg=#2A2A2A + +hi Search guifg=#2A1A0E guibg=#D4813A +hi IncSearch guifg=#E7E2DB guibg=#A0522D +hi CurSearch guifg=#E7E2DB guibg=#A0522D + +hi Pmenu guifg=#E7E2DB guibg=#141414 +hi PmenuSel guifg=#E7E2DB guibg=#9F6A5E +hi PmenuSbar guibg=#1A1A1A +hi PmenuThumb guibg=#3A2A22 + +hi NonText guifg=#2A2A2A +hi SpecialKey guifg=#2A2A2A +hi Whitespace guifg=#1A1A1A +hi EndOfBuffer guifg=#1A1A1A + +hi Comment guifg=#B8896E gui=italic +hi Constant guifg=#2E6DA4 +hi String guifg=#27794A +hi Number guifg=#2E6DA4 +hi Boolean guifg=#2E6DA4 gui=bold + +hi Function guifg=#8B3A62 gui=bold +hi Statement guifg=#A0522D gui=bold +hi Keyword guifg=#C0392B gui=bold +hi Type guifg=#2A7D7D gui=bold + +hi Error guifg=#E7E2DB guibg=#C0392B gui=bold +hi Todo guifg=#2A1A0E guibg=#D4813A gui=bold |
