commit 6d9de0907e08c9e49686cc749584ccb1350e2389 Author: Florian RICHER Date: Thu Jun 17 20:40:44 2021 +0200 Init diff --git a/configs/nvim/init.vim b/configs/nvim/init.vim new file mode 100644 index 0000000..39da907 --- /dev/null +++ b/configs/nvim/init.vim @@ -0,0 +1,50 @@ +" auto toggle relativenumber +set number! relativenumber! +augroup numbertoggle + autocmd! + autocmd BufEnter,FocusGained,InsertLeave * set relativenumber + autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber +augroup END + +" Tab options +set tabstop=4 softtabstop=4 +set shiftwidth=4 +set expandtab +set smartindent + +set signcolumn=yes + +set noerrorbells + +set nobackup +set nowrap +set undodir=~/.vim/undodir +set undofile + +set updatetime=500 + +let mapleader = " " + +lua require("adopi") + +" smartsearch +set smartcase ignorecase +set incsearch + +" toggle nu column +augroup vimrc-incsearch-highlight + autocmd! + autocmd CmdlineEnter /,\? :set hlsearch + autocmd CmdlineLeave /,\? :set nohlsearch +augroup END + + +nnoremap ps :lua require('telescope.builtin').grep_string({ search = vim.fn.input("Grep For >")}) + +" Find files using Telescope command-line sugar. +nnoremap ff Telescope find_files +nnoremap fg Telescope live_grep +nnoremap fb Telescope buffers +nnoremap fh Telescope help_tags + + diff --git a/configs/nvim/lua/adopi/init.lua b/configs/nvim/lua/adopi/init.lua new file mode 100644 index 0000000..163dca6 --- /dev/null +++ b/configs/nvim/lua/adopi/init.lua @@ -0,0 +1,138 @@ +local execute = vim.api.nvim_command +local fn = vim.fn + +local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim' + +if fn.empty(fn.glob(install_path)) > 0 then + fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path}) + execute 'packadd packer.nvim' +end + +vim.cmd [[packadd packer.nvim]] + + +require('packer').startup(function() + -- Packer can manage itself + use 'wbthomason/packer.nvim' + + use {'dracula/vim'} + use {'whatyouhide/vim-gotham'} + use {'neovim/nvim-lspconfig'} + use {'hrsh7th/nvim-compe'} + use {'shaunsingh/moonlight.nvim'} + + -- Telescope project search + use { + 'nvim-telescope/telescope.nvim', + requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}} + } + + use {'nvim-treesitter/nvim-treesitter'} + +end) + + +vim.cmd('colorscheme moonlight') + +-- Setup LSP servers +local system_name +if vim.fn.has("mac") == 1 then + system_name = "macOS" +elseif vim.fn.has("unix") == 1 then + system_name = "Linux" +elseif vim.fn.has('win32') == 1 then + system_name = "Windows" +else + print("Unsupported system for sumneko") +end + +local sumneko_root_path = vim.fn.stdpath('cache')..'/lspconfig/sumneko_lua/lua-language-server' +local sumneko_binary = sumneko_root_path.."/bin/"..system_name.."/lua-language-server" + +require'lspconfig'.sumneko_lua.setup{ + cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"}; + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + -- Setup your lua path + path = vim.split(package.path, ';'), + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = { + [vim.fn.expand('$VIMRUNTIME/lua')] = true, + [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + }, + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, +} + + +require'lspconfig'.rls.setup { + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + }, +} + +require'lspconfig'.tsserver.setup{} + +require'lspconfig'.pyls.setup{} + +vim.o.completeopt = "menuone,noselect" +require'compe'.setup { + enabled = true; + autocomplete = true; + debug = false; + min_length = 1; + preselect = 'enable'; + throttle_time = 80; + source_timeout = 200; + incomplete_delay = 400; + max_abbr_width = 100; + max_kind_width = 100; + max_menu_width = 100; + documentation = true; + + source = { + path = true; + buffer = true; + calc = true; + nvim_lsp = true; + nvim_lua = true; + vsnip = true; + ultisnips = true; + }; +} + + + +require'lspconfig'.solargraph.setup{} +--require'lspconfig'.sorbet.setup{} + + +--nvim treesitter +require'nvim-treesitter.configs'.setup { + ensure_installed = "maintained", -- list of languages + highlight = { + enable = true, + }, + rainbow = { + enable = true, + extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean + } +} diff --git a/configs/nvim/nvim/init.vim b/configs/nvim/nvim/init.vim new file mode 100644 index 0000000..e22b4ca --- /dev/null +++ b/configs/nvim/nvim/init.vim @@ -0,0 +1,56 @@ +" auto toggle relativenumber +set number! relativenumber! +augroup numbertoggle + autocmd! + autocmd BufEnter,FocusGained,InsertLeave * set relativenumber + autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber +augroup END + +" Tab options +set tabstop=4 softtabstop=4 +set shiftwidth=4 +set expandtab +set smartindent + +set signcolumn=yes + +set noerrorbells + +set nobackup +set nowrap +set undodir=~/.vim/undodir +set undofile + +set updatetime=500 + +let mapleader = " " + +lua require("matcha") + +" smartsearch +set smartcase ignorecase +set incsearch + +" toggle nu column +augroup vimrc-incsearch-highlight + autocmd! + autocmd CmdlineEnter /,\? :set hlsearch + autocmd CmdlineLeave /,\? :set nohlsearch +augroup END + +" start custom RPC server ( for Twitch ) +command! Twitchbotstart :call serverstart('/tmp/nvimbot') + +" is it a bug? Ask to neovim community +command! Twitchbotstop :call serverstop('/tmp/nvimbot') + + +nnoremap ps :lua require('telescope.builtin').grep_string({ search = vim.fn.input("Grep For >")}) + +" Find files using Telescope command-line sugar. +nnoremap ff Telescope find_files +nnoremap fg Telescope live_grep +nnoremap fb Telescope buffers +nnoremap fh Telescope help_tags + + diff --git a/configs/nvim/nvim/lua/matcha/init.lua b/configs/nvim/nvim/lua/matcha/init.lua new file mode 100644 index 0000000..083d380 --- /dev/null +++ b/configs/nvim/nvim/lua/matcha/init.lua @@ -0,0 +1,134 @@ +local execute = vim.api.nvim_command +local fn = vim.fn + +local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim' + +if fn.empty(fn.glob(install_path)) > 0 then + fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path}) + execute 'packadd packer.nvim' +end + +vim.cmd [[packadd packer.nvim]] + + +require('packer').startup(function() + -- Packer can manage itself + use 'wbthomason/packer.nvim' + + use {'dracula/vim'} + use {'whatyouhide/vim-gotham'} + use {'neovim/nvim-lspconfig'} + use {'hrsh7th/nvim-compe'} + use {'shaunsingh/moonlight.nvim'} + + -- Telescope project search + use { + 'nvim-telescope/telescope.nvim', + requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}} + } + + use {'nvim-treesitter/nvim-treesitter'} + +end) + + +vim.cmd('colorscheme moonlight') + +-- Setup LSP servers +local system_name +if vim.fn.has("mac") == 1 then + system_name = "macOS" +elseif vim.fn.has("unix") == 1 then + system_name = "Linux" +elseif vim.fn.has('win32') == 1 then + system_name = "Windows" +else + print("Unsupported system for sumneko") +end + +local sumneko_root_path = vim.fn.stdpath('cache')..'/lspconfig/sumneko_lua/lua-language-server' +local sumneko_binary = sumneko_root_path.."/bin/"..system_name.."/lua-language-server" + +require'lspconfig'.sumneko_lua.setup{ + cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"}; + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + -- Setup your lua path + path = vim.split(package.path, ';'), + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = { + [vim.fn.expand('$VIMRUNTIME/lua')] = true, + [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + }, + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, +} + + +require'lspconfig'.rls.setup { + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + }, +} + +require'lspconfig'.tsserver.setup{} + +require'lspconfig'.pyls.setup{} + +vim.o.completeopt = "menuone,noselect" +require'compe'.setup { + enabled = true; + autocomplete = true; + debug = false; + min_length = 1; + preselect = 'enable'; + throttle_time = 80; + source_timeout = 200; + incomplete_delay = 400; + max_abbr_width = 100; + max_kind_width = 100; + max_menu_width = 100; + documentation = true; + + source = { + path = true; + buffer = true; + calc = true; + nvim_lsp = true; + nvim_lua = true; + vsnip = true; + ultisnips = true; + }; +} + + + +--nvim treesitter +require'nvim-treesitter.configs'.setup { + ensure_installed = "maintained", -- list of languages + highlight = { + enable = true, + }, + rainbow = { + enable = true, + extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean + } +} diff --git a/configs/nvim/plugin/packer_compiled.vim b/configs/nvim/plugin/packer_compiled.vim new file mode 100644 index 0000000..0395896 --- /dev/null +++ b/configs/nvim/plugin/packer_compiled.vim @@ -0,0 +1,127 @@ +" Automatically generated packer.nvim plugin loader code + +if !has('nvim-0.5') + echohl WarningMsg + echom "Invalid Neovim version for packer.nvim!" + echohl None + finish +endif + +packadd packer.nvim + +try + +lua << END + local time + local profile_info + local should_profile = false + if should_profile then + local hrtime = vim.loop.hrtime + profile_info = {} + time = function(chunk, start) + if start then + profile_info[chunk] = hrtime() + else + profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 + end + end + else + time = function(chunk, start) end + end + +local function save_profiles(threshold) + local sorted_times = {} + for chunk_name, time_taken in pairs(profile_info) do + sorted_times[#sorted_times + 1] = {chunk_name, time_taken} + end + table.sort(sorted_times, function(a, b) return a[2] > b[2] end) + local results = {} + for i, elem in ipairs(sorted_times) do + if not threshold or threshold and elem[2] > threshold then + results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' + end + end + + _G._packer = _G._packer or {} + _G._packer.profile_output = results +end + +time([[Luarocks path setup]], true) +local package_path_str = "/home/matcha/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/matcha/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/matcha/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/matcha/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/matcha/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" +if not string.find(package.path, package_path_str, 1, true) then + package.path = package.path .. ';' .. package_path_str +end + +if not string.find(package.cpath, install_cpath_pattern, 1, true) then + package.cpath = package.cpath .. ';' .. install_cpath_pattern +end + +time([[Luarocks path setup]], false) +time([[try_loadstring definition]], true) +local function try_loadstring(s, component, name) + local success, result = pcall(loadstring(s)) + if not success then + vim.schedule(function() + vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) + end) + end + return result +end + +time([[try_loadstring definition]], false) +time([[Defining packer_plugins]], true) +_G.packer_plugins = { + ["moonlight.nvim"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/moonlight.nvim" + }, + ["nvim-compe"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/nvim-compe" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/nvim-lspconfig" + }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/nvim-treesitter" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/packer.nvim" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/plenary.nvim" + }, + ["popup.nvim"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/popup.nvim" + }, + ["telescope.nvim"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/telescope.nvim" + }, + vim = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/vim" + }, + ["vim-gotham"] = { + loaded = true, + path = "/home/matcha/.local/share/nvim/site/pack/packer/start/vim-gotham" + } +} + +time([[Defining packer_plugins]], false) +if should_profile then save_profiles() end + +END + +catch + echohl ErrorMsg + echom "Error in packer_compiled: " .. v:exception + echom "Please check your config for correctness" + echohl None +endtry