1
0
mirror of https://github.com/jdhao/nvim-config.git synced 2025-06-08 14:14:33 +02:00

Compare commits

..

10 Commits

Author SHA1 Message Date
jdhao
208b190a65
Merge pull request #84 from jdhao/indentline
update indent-blankline conf
2022-08-28 14:56:35 +08:00
jdhao
602254a881 update indent-blankline conf 2022-08-28 14:55:42 +08:00
jdhao
7022eefe22
Merge pull request #83 from jdhao/colorscheme
use colorscheme instead of theme
2022-08-28 13:09:17 +08:00
jdhao
dee7768162 use colorscheme instead of theme 2022-08-28 13:08:22 +08:00
jdhao
22b33871ef
Merge pull request #82 from jdhao/linux-setup
update linux setup
2022-08-28 12:47:30 +08:00
jdhao
aab74751f4 update linux setup 2022-08-28 12:47:01 +08:00
jdhao
5dbe643ea2
Merge pull request #81 from jdhao/reorg
refactor a bit
2022-08-28 12:46:15 +08:00
jdhao
b41998828d refactor a bit
1. change theme to colorscheme
2. update plugin load logic
2022-08-28 12:43:50 +08:00
jdhao
3670a19e51
Merge pull request #80 from jdhao/cmp-conf
update nvim-cmp conf
2022-08-28 11:13:32 +08:00
jdhao
545c6f4b92 update nvim-cmp conf 2022-08-28 11:02:01 +08:00
8 changed files with 48 additions and 43 deletions

View File

@ -74,7 +74,7 @@ and how to set up on different platforms (Linux, macOS, and Windows).
+ Asynchronous code execution via [asyncrun.vim](https://github.com/skywind3000/asyncrun.vim). + Asynchronous code execution via [asyncrun.vim](https://github.com/skywind3000/asyncrun.vim).
+ Code highlighting via [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter). + Code highlighting via [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter).
+ Code editing using true nvim inside browser via [firenvim](https://github.com/glacambre/firenvim). + Code editing using true nvim inside browser via [firenvim](https://github.com/glacambre/firenvim).
+ Color theme via [vim-gruvbox8](https://github.com/lifepillar/vim-gruvbox8) and other beautiful themes. + Beautiful colorscheme via [sainnhe/gruvbox-material](https://github.com/sainnhe/gruvbox-material) and other colorschemes.
+ Markdown writing and previewing via [vim-markdown](https://github.com/plasticboy/vim-markdown) and [markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim). + Markdown writing and previewing via [vim-markdown](https://github.com/plasticboy/vim-markdown) and [markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim).
+ LaTeX editing and previewing via [vimtex](https://github.com/lervag/vimtex) <sup id="a1">[1](#f1)</sup>. + LaTeX editing and previewing via [vimtex](https://github.com/lervag/vimtex) <sup id="a1">[1](#f1)</sup>.
+ Animated GUI style notification via [nvim-notify](https://github.com/rcarriga/nvim-notify). + Animated GUI style notification via [nvim-notify](https://github.com/rcarriga/nvim-notify).

View File

@ -1,10 +1,12 @@
--- This module will load a random colorscheme on nvim startup process.
local utils = require('utils') local utils = require('utils')
local M = {} local M = {}
-- Theme to directory name mapping, because theme repo name is not necessarily -- Colorscheme to its directory name mapping, because colorscheme repo name is not necessarily
-- the same as the theme name itself. -- the same as the colorscheme name itself.
M.theme2dir = { M.colorscheme2dir = {
gruvbox8 = "vim-gruvbox8", gruvbox8 = "vim-gruvbox8",
onedark = 'onedark.nvim', onedark = 'onedark.nvim',
edge = 'edge', edge = 'edge',
@ -89,35 +91,36 @@ M.catppuccin = function()
end end
--- Use a random theme from the pre-defined list of themes. --- Use a random colorscheme from the pre-defined list of colorschemes.
M.rand_theme = function () M.rand_colorscheme = function ()
local theme = utils.rand_element(vim.tbl_keys(M.theme2dir)) local colorscheme = utils.rand_element(vim.tbl_keys(M.colorscheme2dir))
if not vim.tbl_contains(vim.tbl_keys(M), theme) then if not vim.tbl_contains(vim.tbl_keys(M), colorscheme) then
local msg = "Invalid theme: " .. theme local msg = "Invalid colorscheme: " .. colorscheme
vim.notify(msg, vim.log.levels.ERROR, { title = 'nvim-config' }) vim.notify(msg, vim.log.levels.ERROR, { title = 'nvim-config' })
return return
end end
-- Load the theme, because all the themes are declared as opt plugins, the theme isn't loaded yet. -- Load the colorscheme, because all the colorschemes are declared as opt plugins, so the colorscheme isn't loaded yet.
local status = utils.add_pack(M.theme2dir[theme]) local status = utils.add_pack(M.colorscheme2dir[colorscheme])
if not status then if not status then
local msg = string.format("Theme %s is not installed. Run PackerSync to install.", theme) local msg = string.format("Colorscheme %s is not installed. Run PackerSync to install.", colorscheme)
vim.notify(msg, vim.log.levels.ERROR, { title = 'nvim-config' }) vim.notify(msg, vim.log.levels.ERROR, { title = 'nvim-config' })
return return
end end
-- Set the theme. -- Load the colorscheme and its settings
M[theme]() M[colorscheme]()
if vim.g.logging_level == 'debug' then if vim.g.logging_level == 'debug' then
local msg = "Colorscheme: " .. theme local msg = "Colorscheme: " .. colorscheme
vim.notify(msg, vim.log.levels.DEBUG, { title = 'nvim-config' }) vim.notify(msg, vim.log.levels.DEBUG, { title = 'nvim-config' })
end end
end end
M.rand_theme() -- Load a random colorscheme
M.rand_colorscheme()

View File

@ -1,7 +1,7 @@
scriptencoding utf-8 scriptencoding utf-8
" Plugin specification and lua stuff " Plugin specification and lua stuff
lua require('lua-init') lua require('plugins')
" Use short names for common plugin manager commands to simplify typing. " Use short names for common plugin manager commands to simplify typing.
" To use these shortcuts: first activate command line with `:`, then input the " To use these shortcuts: first activate command line with `:`, then input the

View File

@ -245,6 +245,7 @@ fi
echo "Setting up config and installing plugins" echo "Setting up config and installing plugins"
if [[ -d "$NVIM_CONFIG_DIR" ]]; then if [[ -d "$NVIM_CONFIG_DIR" ]]; then
rm -rf "$NVIM_CONFIG_DIR.backup"
mv "$NVIM_CONFIG_DIR" "$NVIM_CONFIG_DIR.backup" mv "$NVIM_CONFIG_DIR" "$NVIM_CONFIG_DIR.backup"
fi fi

View File

@ -21,12 +21,12 @@ if nvim_ver ~= expected_ver then
end end
local core_conf_files = { local core_conf_files = {
"globals.vim", "globals.vim", -- some global settings
"options.vim", "options.vim", -- setting options in nvim
"autocommands.vim", "autocommands.vim", -- various autocommands
"mappings.vim", "mappings.vim", -- all the user-defined mappings
"plugins.vim", "plugins.vim", -- all the plugins installed and their configurations
"themes.lua", "colorschemes.lua", -- colorscheme settings
} }
-- source all the core config files -- source all the core config files

View File

@ -1,3 +1,6 @@
local api = vim.api
local exclude_ft = { "help", "git", "markdown", "snippets", "text", "gitconfig", "alpha" }
require("indent_blankline").setup({ require("indent_blankline").setup({
-- U+2502 may also be a good choice, it will be on the middle of cursor. -- U+2502 may also be a good choice, it will be on the middle of cursor.
-- U+250A is also a good choice -- U+250A is also a good choice
@ -5,19 +8,22 @@ require("indent_blankline").setup({
show_end_of_line = false, show_end_of_line = false,
disable_with_nolist = true, disable_with_nolist = true,
buftype_exclude = { "terminal" }, buftype_exclude = { "terminal" },
filetype_exclude = { "help", "git", "markdown", "snippets", "text", "gitconfig", "alpha" }, filetype_exclude = exclude_ft,
}) })
vim.cmd([[ local gid = api.nvim_create_augroup("indent_blankline", { clear = true })
function! Should_activate_indentblankline() abort api.nvim_create_autocmd("InsertEnter", {
if index(g:indent_blankline_filetype_exclude, &filetype) == -1 pattern = "*",
IndentBlanklineEnable group = gid,
endif command = "IndentBlanklineDisable"
endfunction })
augroup indent_blankline api.nvim_create_autocmd("InsertLeave", {
autocmd! pattern = "*",
autocmd InsertEnter * IndentBlanklineDisable group = gid,
autocmd InsertLeave * call Should_activate_indentblankline() callback = function()
augroup END if not vim.tbl_contains(exclude_ft, vim.bo.filetype) then
]]) vim.cmd [[IndentBlanklineEnable]]
end
end
})

View File

@ -34,7 +34,7 @@ cmp.setup({
{ name = 'nvim_lsp' }, -- For nvim-lsp { name = 'nvim_lsp' }, -- For nvim-lsp
{ name = 'ultisnips' }, -- For ultisnips user. { name = 'ultisnips' }, -- For ultisnips user.
{ name = 'path' }, -- for path completion { name = 'path' }, -- for path completion
{ name = 'buffer', keyword_length = 4 }, -- for buffer word completion { name = 'buffer', keyword_length = 2 }, -- for buffer word completion
{ name = 'omni' }, { name = 'omni' },
{ name = 'emoji', insert = true, } -- emoji completion { name = 'emoji', insert = true, } -- emoji completion
}, },

View File

@ -1,5 +0,0 @@
-- Some utility stuff
require 'utils'
-- plugin installation
require 'plugins'