river-config/nvim/init.lua
2025-08-02 21:58:53 +03:00

73 lines
2 KiB
Lua

vim.o.number = true
vim.o.tabstop = 4
vim.o.shiftwidth = 4
vim.o.expandtab = true
vim.o.smartindent = true
vim.o.cursorline = true
vim.cmd( 'syntax enable' )
vim.cmd( 'filetype plugin indent on' )
vim.cmd( 'colorscheme slate' )
vim.cmd [[
highlight Normal guibg=NONE ctermbg=NONE
highlight NonText guibg=NONE ctermbg=NONE
highlight EndOfBuffer guibg=NONE ctermbg=NONE
]]
vim.cmd [[
call plug#begin()
Plug 'preservim/nerdtree'
Plug 'neovim/nvim-lspconfig'
Plug 'folke/trouble.nvim'
Plug 'dart-lang/dart-vim-plugin'
Plug 'thosakwe/vim-flutter'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
call plug#end()
]]
local cmp = require 'cmp'
cmp.setup({
snippet = {
expand = function(args)
vim.snippet.expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'buffer' },
}),
})
require 'trouble'.open("diagnostics")
local capabilities = require('cmp_nvim_lsp').default_capabilities()
vim.lsp.enable( 'lua_ls' )
vim.lsp.config( 'lua_ls' , { capabilities = capabilities })
vim.lsp.enable( 'rust_analyzer' )
vim.lsp.config( 'rust_analyzer', { capabilities = capabilities } )
vim.lsp.enable( 'dartls' )
vim.lsp.config( 'dartls', { capabilities = capabilities } )
vim.lsp.enable( 'gdscript' )
vim.lsp.config( 'gdscript', { capabilities = capabilities } )
vim.g.mapleader = ' '
vim.api.nvim_set_keymap( 'n', '<Leader>w', ':w<CR>', { noremap = true, silent = true } )
vim.api.nvim_set_keymap( 'n', '<Leader>n', ':NERDTree<CR>', { noremap = true, silent = true } )
vim.api.nvim_set_keymap( 'n', '<Leader>d', ':Trouble diagnostics<CR>', { noremap = true, silent = true } )