speedie-nvim | Add new config

This commit is contained in:
Jacob 2024-01-19 13:50:47 +01:00
parent 169148fc14
commit e4db8c5842
11 changed files with 138 additions and 38 deletions

View file

@ -3,23 +3,41 @@
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
require('bootstrap')
local cmd = vim.cmd -- Convenient alias
local opt = vim.opt -- Convenient alias
local o = vim.o -- Convenient alias
local keymap = vim.api.nvim_set_keymap -- Convenient alias
local autocmd = vim.api.nvim_create_autocmd -- Convenient alias
local sessionFile = '~/.config/nvim/.session.nvim' -- File where the previous buffer is stored
local cmd = vim.cmd
local opt = vim.opt
local o = vim.o
local keymap = vim.api.nvim_set_keymap
local autocmd = vim.api.nvim_create_autocmd
local sessionFile = vim.fn.expand('~/.config/nvim/.session.nvim')
require("lazy").setup({
Theme = 'doom-one' -- Theme to use
Languages = { -- Used to configure highlighting
'html',
'css',
'c',
'cpp', -- The best language
'php',
'lua',
'vim',
'vimdoc',
'markdown',
} -- Languages to support
Plugins = { -- Plugins to use
{ 'nvim-telescope/telescope.nvim', dependencies = {
'nvim-lua/plenary.nvim',
} }, -- Fuzzy-finding
{ 'nvim-treesitter/nvim-treesitter' }, -- Better syntax highlighting
{ 'nvim-lualine/lualine.nvim' }, -- Status line
{ 'm4xshen/autoclose.nvim' }, -- Autoclose brackets
{ 'romgrk/doom-one.vim' }, -- Doom-One theme
{ 'stevearc/conform.nvim' }, -- Formatting
{ 'NeogitOrg/neogit',
dependencies = {
'nvim-lua/plenary.nvim',
'sindrets/diffview.nvim',
'nvim-telescope/telescope.nvim',
},
}, -- Git integration
{ 'romgrk/barbar.nvim',
dependencies = {
'lewis6991/gitsigns.nvim',
@ -39,7 +57,10 @@ require("lazy").setup({
'hrsh7th/nvim-cmp',
'L3MON4D3/LuaSnip',
} }, -- LSP
})
{ 'nvim-tree/nvim-tree.lua' }, -- File manager
}
require('bootstrap') -- Set up Lazy and plugins.
opt.title = true -- Display title
opt.spelllang = 'en_us' -- Use English (United States) as spellcheck language by default
@ -71,13 +92,11 @@ o.t_8f = '\27[38;2;%lu;%lu;%lum' -- To be honest, I don't know what this does bu
o.t_8b = '\27[48;2;%lu;%lu;%lum' -- To be honest, I don't know what this does but if I remember correctly it's something good.
cmd([[
colorscheme doom-one
highlight Normal ctermfg=grey ctermbg=lightgray guifg=#ffffff guibg=#222222
highlight EndOfBuffer ctermfg=grey ctermbg=lightgray guifg=#ffffff guibg=#222222
highlight Folded ctermfg=grey ctermbg=lightgray guifg=#afeeee guibg=#333333
highlight SpellBad guisp=red gui=undercurl guifg=none guibg=none ctermfg=none ctermbg=none term=underline cterm=undercurl
highlight SpellCap guisp=yellow gui=undercurl guifg=none guibg=none ctermfg=none ctermbg=none term=underline cterm=undercurl
filetype plugin indent on
]])
keymap('n', '<C-h>', '<C-w>h', { noremap = true, silent = true })
@ -94,7 +113,8 @@ keymap('n', '<F3>', ':set spelllang=en_us<cr>', { noremap = true, silent = true
keymap('n', '<F4>', ':set spelllang=sv_se<cr>', { noremap = true, silent = true })
keymap('n', '<F7>', ':silent execute "!setxkbmap us"<cr>', { noremap = true, silent = true })
keymap('n', '<F8>', ':silent execute "!setxkbmap se"<cr>', { noremap = true, silent = true })
keymap('n', '<C-e>', 'z=', { noremap = true, silent = true })
keymap('n', '<C-e>', ':NvimTreeToggle<cr>', { noremap = true, silent = true })
keymap('n', 'ca', 'z=', { noremap = true, silent = true })
keymap('n', '<C-b>', ':!ninja -C build<cr>', { noremap = true, silent = true })
keymap('n', 'H', ':vertical resize -10<cr>', { noremap = true, silent = true })
keymap('n', 'J', ':resize -10<cr>', { noremap = true, silent = true })
@ -127,19 +147,6 @@ keymap('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<cr>', { noremap = true, sil
keymap('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<cr>', { noremap = true, silent = true })
local function saveSession() -- Save the current session
vim.cmd('mksession! ' .. sessionFile)
end
local function restoreSession() -- Restore the last session
if vim.fn.argc() == 0 then
if vim.fn.filereadable(sessionFile) == 1 then
vim.cmd('source ' .. sessionFile)
vim.cmd("filetype detect")
end
end
end
autocmd('BufWritePre', { -- Remove trailing spaces
pattern = { '*' },
callback = function()
@ -161,17 +168,29 @@ autocmd('BufWritePre', { -- Replace four spaces with tabs in Makefiles
autocmd('VimEnter', { -- Restore session on load
pattern = { '*' },
callback = function()
restoreSession()
local _sessionFile = vim.fn.expand(sessionFile)
if vim.fn.argc() == 0 then
if vim.fn.filereadable(_sessionFile) == 1 then
vim.cmd('source ' .. _sessionFile)
vim.cmd("filetype detect")
end
end
end,
})
autocmd('VimLeave', { -- Save session on exit
pattern = { '*' },
callback = function()
saveSession()
local _sessionFile = vim.fn.expand(sessionFile)
vim.cmd('mksession! ' .. _sessionFile)
end,
})
-- Set up various plugins
require('conform_config')
require('autoclose_config')
require('lsp_config')
require('neogit_config')
require('lualine_config')
require('conform').setup({})
require('autoclose').setup({})
require('tree_config')
require('ts_config')
require('theme_config')

View file

@ -4,6 +4,7 @@
"barbar.nvim": { "branch": "master", "commit": "4ba9ac54f0c5d82131905160afff94172e3325e6" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"conform.nvim": { "branch": "master", "commit": "cbc5745bf7519acaf3a5cbaaa677fd556aa813d7" },
"diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" },
"doom-one.vim": { "branch": "master", "commit": "323b7c31c617b153d12095e9fd9648f2fda2b646" },
"gitsigns.nvim": { "branch": "main", "commit": "4aaacbf5e5e2218fd05eb75703fe9e0f85335803" },
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
@ -11,8 +12,11 @@
"lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "3ba1b92b771f33256b4969d696b82c8ae7075364" },
"mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" },
"neogit": { "branch": "master", "commit": "38dd297a905ec6869f4c20ea9184a3e514316e3b" },
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
"nvim-lspconfig": { "branch": "master", "commit": "7eed8b2150192e5ad05e1886fdf133493ddf2928" },
"nvim-tree.lua": { "branch": "master", "commit": "f24afa2cef551122b8bd53bb2e4a7df42343ce2e" },
"nvim-treesitter": { "branch": "master", "commit": "090880c0f1fec219f7de838cb51b8dc07ce74a6d" },
"nvim-web-devicons": { "branch": "master", "commit": "140edfcf25093e8b321d13e154cbce89ee868ca0" },
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }

View file

@ -0,0 +1,6 @@
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
require('autoclose').setup({})

View file

@ -3,7 +3,6 @@
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
@ -16,3 +15,5 @@ if not vim.loop.fs_stat(lazypath) then
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup(Plugins)

View file

@ -0,0 +1,6 @@
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
require('conform').setup({})

View file

@ -1,5 +1,12 @@
local lsp_zero = require('lsp-zero')
lsp_zero.on_attach(function(client, bufnr) lsp_zero.default_keymaps({buffer = bufnr}) end)
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
require('mason').setup({})
require('mason-lspconfig').setup({handlers = { lsp_zero.default_setup }, })
if vim.fn.has('nvim-0.8') == 1 or vim.fn.has('nvim-0.9') == 1 or vim.fn.has('nvim-1') == 1 then
local lsp_zero = require('lsp-zero')
lsp_zero.on_attach(function(client, bufnr) lsp_zero.default_keymaps({buffer = bufnr}) end)
require('mason').setup({})
require('mason-lspconfig').setup({handlers = { lsp_zero.default_setup }, })
end

View file

@ -1,6 +1,8 @@
-- Eviline config for lualine
-- Author: shadmansaleh
-- Credit: glepnir
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
require('lualine').setup()
local lualine = require('lualine')

View file

@ -0,0 +1,9 @@
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
-- Requires vim 0.9 or later
if vim.fn.has('nvim-0.9') == 1 or vim.fn.has('nvim-1') == 1 then
require('neogit').setup({})
end

View file

@ -0,0 +1,6 @@
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
vim.cmd('colorscheme ' .. Theme .. '')

View file

@ -0,0 +1,16 @@
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
require("nvim-tree").setup({
view = {
width = 30,
},
filters = {
dotfiles = true,
},
})

View file

@ -0,0 +1,24 @@
--[[
speedie's neovim configuration
-- https://git.speedie.site/speedie/speedie-nvim --
]]--
require'nvim-treesitter.configs'.setup {
ensure_installed = Languages,
sync_install = false,
auto_install = true,
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 1000 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
}