summaryrefslogtreecommitdiff
path: root/config/nvim-2/nvim/vscript
diff options
context:
space:
mode:
authorcoasteen <coasteen@proton.me>2026-07-09 10:42:28 +0330
committercoasteen <coasteen@proton.me>2026-07-09 10:42:28 +0330
commit8cbadb61604667b407b53ee1258433994fa4765a (patch)
tree97765fb29418fd6278fcb4cbb9760893afaf7a58 /config/nvim-2/nvim/vscript
Diffstat (limited to 'config/nvim-2/nvim/vscript')
-rw-r--r--config/nvim-2/nvim/vscript/key.vim2
-rw-r--r--config/nvim-2/nvim/vscript/lua.vim87
-rw-r--r--config/nvim-2/nvim/vscript/scp.vim29
-rw-r--r--config/nvim-2/nvim/vscript/theme.vim61
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