diff --git a/.config/nvim/after/plugin/color.lua b/.config/nvim/after/plugin/color.lua index 5a577bc..4d8bed6 100644 --- a/.config/nvim/after/plugin/color.lua +++ b/.config/nvim/after/plugin/color.lua @@ -1,5 +1,9 @@ -vim.g.tokyonight_transparent_sidebar = true -vim.g.tokyonight_transparent = true -vim.opt.background = "dark" +local g = vim.g +local opt = vim.opt +local cmd = vim.cmd -vim.cmd("colorscheme tokyonight") +g.tokyonight_transparent_sidebar = true +g.tokyonight_transparent = true +opt.background = "dark" + +cmd("colorscheme tokyonight") diff --git a/.config/nvim/lua/vtimofei/init.lua b/.config/nvim/lua/vtimofei/init.lua index 8a0ddd5..8801dcd 100644 --- a/.config/nvim/lua/vtimofei/init.lua +++ b/.config/nvim/lua/vtimofei/init.lua @@ -4,3 +4,4 @@ require("vtimofei.cmp") require("vtimofei.lsp") require("vtimofei.plugins") require("vtimofei.telescope") +require("vtimofei.treesitter") diff --git a/.config/nvim/lua/vtimofei/lsp/clangd.lua b/.config/nvim/lua/vtimofei/lsp/clangd.lua new file mode 100644 index 0000000..4b40ec9 --- /dev/null +++ b/.config/nvim/lua/vtimofei/lsp/clangd.lua @@ -0,0 +1,17 @@ +local capabilities = require('cmp_nvim_lsp').default_capabilities() +local remap = require('vtimofei.lsp.remap') +local lsp_conf = require('lspconfig') + +lsp_conf.clangd.setup{ + capabilities = capabilities, + on_attach = function() + remap.hover() + remap.definition() + remap.type_definition() + remap.implementation() + remap.diagnostics_next() + remap.diagnostics_prev() + remap.rename() + remap.code_action() + end +} diff --git a/.config/nvim/lua/vtimofei/lsp/init.lua b/.config/nvim/lua/vtimofei/lsp/init.lua index 69afe0b..340880b 100644 --- a/.config/nvim/lua/vtimofei/lsp/init.lua +++ b/.config/nvim/lua/vtimofei/lsp/init.lua @@ -2,3 +2,4 @@ require('vtimofei.lsp.gopls') require('vtimofei.lsp.rust_analyzer') require('vtimofei.lsp.sumneko_lua') require('vtimofei.lsp.tsserver') +require('vtimofei.lsp.clangd') diff --git a/.config/nvim/lua/vtimofei/plugins.lua b/.config/nvim/lua/vtimofei/plugins.lua index 32be2b4..38f3383 100644 --- a/.config/nvim/lua/vtimofei/plugins.lua +++ b/.config/nvim/lua/vtimofei/plugins.lua @@ -1,25 +1,25 @@ vim.cmd [[packadd packer.nvim]] return require('packer').startup(function(use) - use 'wbthomason/packer.nvim' - use 'folke/tokyonight.nvim' - use 'neovim/nvim-lspconfig' - use 'nvim-lua/plenary.nvim' - use 'hrsh7th/nvim-cmp' - use 'hrsh7th/cmp-nvim-lsp' - use 'hrsh7th/cmp-buffer' - use 'hrsh7th/cmp-path' - use 'L3MON4D3/LuaSnip' - use 'saadparwaiz1/cmp_luasnip' - use { - 'nvim-treesitter/nvim-treesitter', - run = function() - local ts_update = require('nvim-treesitter.install').update({ with_sync = true }) - ts_update() - end, - } - use { - 'nvim-telescope/telescope.nvim', branch = '0.1.x', - requires = { {'nvim-lua/plenary.nvim'} } - } + use 'wbthomason/packer.nvim' + use 'folke/tokyonight.nvim' + use 'neovim/nvim-lspconfig' + use 'nvim-lua/plenary.nvim' + use 'hrsh7th/nvim-cmp' + use 'hrsh7th/cmp-nvim-lsp' + use 'hrsh7th/cmp-buffer' + use 'hrsh7th/cmp-path' + use 'L3MON4D3/LuaSnip' + use 'saadparwaiz1/cmp_luasnip' + use { + 'nvim-treesitter/nvim-treesitter', + run = function() + local ts_update = require('nvim-treesitter.install').update({ with_sync = true }) + ts_update() + end, + } + use { + 'nvim-telescope/telescope.nvim', branch = '0.1.x', + requires = { {'nvim-lua/plenary.nvim'} } + } end) diff --git a/.config/nvim/lua/vtimofei/set.lua b/.config/nvim/lua/vtimofei/set.lua index a3beeb7..b34c182 100644 --- a/.config/nvim/lua/vtimofei/set.lua +++ b/.config/nvim/lua/vtimofei/set.lua @@ -1,17 +1,20 @@ -vim.opt.guicursor = "" +local opt = vim.opt +local g = vim.g -vim.opt.nu = true -vim.opt.relativenumber = true +opt.guicursor = "" -vim.opt.tabstop = 8 -vim.opt.softtabstop = 8 -vim.opt.shiftwidth = 8 -vim.opt.expandtab = true -vim.opt.hlsearch = false -vim.opt.incsearch = true +opt.nu = true +opt.relativenumber = true -vim.opt.smartindent = true +opt.tabstop = 8 +opt.softtabstop = 8 +opt.shiftwidth = 8 +opt.expandtab = true +opt.hlsearch = false +opt.incsearch = true -vim.opt.wrap = false +opt.smartindent = true -vim.g.mapleader = " " +opt.wrap = false + +g.mapleader = " " diff --git a/.config/nvim/lua/vtimofei/telescope.lua b/.config/nvim/lua/vtimofei/telescope.lua index 7b3471e..6e0ca44 100644 --- a/.config/nvim/lua/vtimofei/telescope.lua +++ b/.config/nvim/lua/vtimofei/telescope.lua @@ -1,6 +1,8 @@ -vim.keymap.set("n", "dl", "Telescope diagnostics") -vim.keymap.set("n", "tr", "Telescope lsp_references") -vim.keymap.set("n", "ti", "Telescope lsp_implementations") -vim.keymap.set("n", "fw", "Telescope live_grep") -vim.keymap.set("n", "ff", "Telescope find_files") -vim.keymap.set("n", "tc", "Telescope colorscheme") +local keymap = vim.keymap; + +keymap.set("n", "dl", "Telescope diagnostics") +keymap.set("n", "tr", "Telescope lsp_references") +keymap.set("n", "ti", "Telescope lsp_implementations") +keymap.set("n", "fw", "Telescope live_grep") +keymap.set("n", "ff", "Telescope find_files") +keymap.set("n", "tc", "Telescope colorscheme") diff --git a/.config/nvim/lua/vtimofei/treesitter.lua b/.config/nvim/lua/vtimofei/treesitter.lua new file mode 100644 index 0000000..f6db4a9 --- /dev/null +++ b/.config/nvim/lua/vtimofei/treesitter.lua @@ -0,0 +1,44 @@ +local tr = require('nvim-treesitter.configs') + +tr.setup { + sync_install = false, + ensure_installed = { + "go", + "gowork", + "gomod", + "proto", + "rust", + "c", + "cpp", + "python", + "lua", + "awk", + "bash", + "java", + "cmake", + "make", + "dockerfile", + "json", + "yaml", + "toml", + "yang", + "diff", + "git_rebase", + "gitcommit", + "comment", + "markdown", + "regex", + "help", + }, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, +} + +local vim = vim +local opt = vim.opt + +opt.foldmethod = "expr" +opt.foldexpr = "nvim_treesitter#foldexpr()" +