From 4abb25ea7d3876899e641a8a16281203bd164d53 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Sat, 23 Sep 2023 15:41:49 -0400 Subject: initial config for all 3 systems --- programs/dotfiles/neovim/init.lua | 14 +++++++ programs/dotfiles/neovim/init.vim | 71 ++++++++++++++++++++++++++++++++++++ programs/dotfiles/neovim/plugins.lua | 57 +++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 programs/dotfiles/neovim/init.lua create mode 100644 programs/dotfiles/neovim/init.vim create mode 100644 programs/dotfiles/neovim/plugins.lua (limited to 'programs/dotfiles/neovim') diff --git a/programs/dotfiles/neovim/init.lua b/programs/dotfiles/neovim/init.lua new file mode 100644 index 0000000..4a80830 --- /dev/null +++ b/programs/dotfiles/neovim/init.lua @@ -0,0 +1,14 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", + lazypath + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup("plugins") diff --git a/programs/dotfiles/neovim/init.vim b/programs/dotfiles/neovim/init.vim new file mode 100644 index 0000000..993ea88 --- /dev/null +++ b/programs/dotfiles/neovim/init.vim @@ -0,0 +1,71 @@ +set termguicolors + +filetype plugin indent on +set tabstop=4 softtabstop=4 shiftwidth=4 +set expandtab smarttab +set autoindent +set incsearch ignorecase smartcase hlsearch +set encoding=utf-8 +set textwidth=0 +set number + +set hidden +set title +set noshowmode +set noruler +set noshowcmd + +set nobackup +set nowritebackup + +set updatetime=300 +set signcolumn=yes + +let mapleader = "\" + +" Tab-trigger completion +inoremap + \ coc#pum#visible() ? coc#pum#next(1) : + \ CheckBackspace() ? "\" : + \ coc#refresh() +inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" + +inoremap coc#pum#visible() ? coc#pum#confirm() : + \ "\u\\=coc#on_enter()\" + +function! CheckBackspace() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +inoremap coc#refresh() + +nmap [g (coc-diagnostic-prev) +nmap ]g (coc-diagnostic-next) + +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) + +nnoremap K :call ShowDocumentation() + +function! ShowDocumentation() + if CocAction('hasProvider', 'hover') + call CocActionAsync('doHover') + else + call feedkeys('K', 'in') + endif +endfunction + +autocmd CursorHold * silent call CocActionAsync('highlight') + +" Telescope +nnoremap ff Telescope find_files +nnoremap fg Telescope live_grep +nnoremap fb Telescope buffers +nnoremap fh help_tags + +lua require('init') + +color catppuccin diff --git a/programs/dotfiles/neovim/plugins.lua b/programs/dotfiles/neovim/plugins.lua new file mode 100644 index 0000000..83c74ad --- /dev/null +++ b/programs/dotfiles/neovim/plugins.lua @@ -0,0 +1,57 @@ +return +{ + { "neovim/nvim-lspconfig" }, + { "MordechaiHadad/nvim-lspmanager", + dependencies = { "neovim/nvim-lspconfig" }, + config = function() + require('lspmanager').setup({ + ensure_installed = { + "clangd" + } + }) + end + }, + { "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + require('nvim-treesitter.configs').setup{ + ensure_installed = { "c", "cpp" }, + auto_install = true, + highlight = { + enable = true + } + } + end + }, + { "neoclide/coc.nvim", branch="release" }, + { "nvim-lua/plenary.nvim" }, + { "nvim-telescope/telescope.nvim", tag = '0.1.3', + dependencies = { 'nvim-lua/plenary.nvim' } + }, + { "nvim-tree/nvim-web-devicons" }, + { "lewis6991/gitsigns.nvim", + config = function() + require('gitsigns').setup() + end + }, + { "tpope/vim-surround" }, + { "catppuccin/nvim", name="catppuccin", priority=1000 }, + { "feline-nvim/feline.nvim", + config = function() + local ctp_feline = require('catppuccin.groups.integrations.feline') + require('feline').setup({ + + }) + end + }, + { "romgrk/barbar.nvim", + dependencies = { + 'lewis6991/gitsigns.nvim', + 'nvim-tree/nvim-web-devicons' + }, + init = function() vim.g.barbar_auto_setup = false end, + config = function() + require('barbar').setup() + end + } +} -- cgit v1.2.1