Commit Graph
100 Commits
Author SHA1 Message Date
jdhao 9071e045eb Make * and # search case aware
By default, when you press `*` to search word under the cursor, the
option `smartcase` is ignored. This means that if you press `*` when
your cursor is on `The`, the lower case one `the` is also searched.

In this commit, we translate star and # search into normal search so that
'smartcase' option is respected.
2024-08-30 01:01:04 +02:00
jdhao fa79647a63 Fix type for option relativenumber
"relativenumber" should be window local option, not buffer local option.
2024-08-29 21:45:07 +02:00
jdhao 4b4ff5f549 Add error handling for resuming the cursor
This will close issue #328.
2024-08-29 21:41:13 +02:00
jdhao 12b0ff02b6 Move autocmd in viml to Lua 2024-08-27 23:12:33 +02:00
jdhao e3930e8aa7 remove unused plugins 2024-08-25 23:36:29 +02:00
jdhao 21522bd194 update config for yanky 2024-08-25 23:34:03 +02:00
jdhao a3c8b3d5b5 Update configuration for nvim-cmp
1. restrict max width of the completion menu. Here I am using
   lspkind.nvim to achieve this. There are other native ways to do this,
   see also https://github.com/hrsh7th/nvim-cmp/discussions/609 and
   https://github.com/hrsh7th/nvim-cmp/issues/980
2. remove cmp-emoji as it is rarely used and interfere when I write
   Python
3. lower the transparency for popup menu
2024-08-20 01:04:02 +02:00
jdhao d150f39afc Add new plugins 2024-08-19 23:37:57 +02:00
jdhao 3904cd4ccf Update config for handling large files 2024-08-19 23:34:21 +02:00
jdhao 95d3b2f2d8 remove setting for JSON file 2024-08-19 22:36:58 +02:00
jdhao c3d8dc3e1d Add mapping to delete other buffers 2024-08-17 17:33:36 +02:00
jdhao f9780c2dff update config for bufferline.nvim
Do not show buffer number and use a mapping to pick buffer instead.
2024-08-17 17:29:33 +02:00
jdhao 256c37a946 update vim-fugitive mapping 2024-08-17 15:16:08 +02:00
jdhao eff98d036d update README 2024-08-17 15:10:33 +02:00
jdhao 6e60475f3f Use gx.nvim for browsing in Browser 2024-08-16 00:03:43 +02:00
jdhao d90273df8e remove lua_ls conf in favor of lazydev.nvim
The removed settings are already set by lazydev.nvim.
2024-08-15 23:44:50 +02:00
jdhao 659f410b9e move version check into function 2024-08-15 23:38:31 +02:00
jdhao a602d98819 fix git mapping issue
`<cmd> `mapping must end with `<CR>`
2024-08-09 22:23:04 +02:00
jdhao 9ff76931e3 update git related mappings 2024-08-09 22:19:13 +02:00
jdhao 85232b82a8 Update mapping of plugin open-browser.vim 2024-08-09 22:05:54 +02:00
jdhao cfc0089bb5 add plugin lazydev.nvim 2024-08-07 00:48:21 +08:00
jdhao f1062a3d8f filter fold level sign for statuscol.nvim
Only show fold signs for fold level below a certain level to avoid
clutter the left side columns with a lot of folding signs
2024-08-07 00:14:19 +08:00
jdhao fd6df981cd Update nvim-ufo settings 2024-08-06 23:58:54 +08:00
jdhao 8af8ebd72a remove statusline.lua 2024-08-06 17:25:33 +02:00
jdhao 4c697d89f3 change name of lualine config 2024-08-06 23:04:37 +08:00
jdhao e6f95cedb1 Update installation doc 2024-08-06 06:51:39 +08:00
jdhao 262ad6aa38 Add new colorscheme kanagawa 2024-08-06 06:16:07 +08:00
jdhao b30cc9ed78 update user dictionary 2024-08-06 06:05:20 +08:00
jdhao b3a26e4226 update load condtion for nvim-tree 2024-08-06 06:02:02 +08:00
jdhao 794b098090 Add git blame mapping 2024-08-06 05:59:14 +08:00
jdhao b728b39784 update type hint for functions 2024-08-06 05:35:19 +08:00
jdhao acc3ed7829 show error message only when no word is under cursor 2024-08-06 05:33:24 +08:00
jdhao 44e9e5a1ce Fix lua_ls diagnostic warnings 2024-08-06 05:24:16 +08:00
jdhao 5502d29f40 update config related to folding
1. For python and lua, rely on LSP for folding
2. show fold signs on the right of the number column
2024-08-06 05:17:51 +08:00
jdhao fe95658319 Add colorscheme arctic.nvim 2024-08-05 06:25:28 +08:00
jdhao e165276763 fix error when there is no cursor word 2024-08-05 06:23:18 +08:00
jdhao 933b887281 update config for nvim-ufo 2024-08-05 05:50:45 +08:00
jdhao 69643e143a use plugin nvim-ufo for better folding
The settings are copied from https://github.com/kevinhwang91/nvim-ufo/issues/4#issuecomment-1514537245,
with some modification.
2024-08-05 05:27:49 +08:00
jdhao 7f4772fd31 update setting for colorscheme gruvbox-material 2024-08-05 05:04:35 +08:00
jdhao bf49e90947 change value for option 'splitkeep' 2024-08-05 05:03:02 +08:00
jdhao 784b435f0e update LeaderF settings 2024-08-02 23:41:36 +08:00
jdhao beec97c086 Fix firenvim and LeaderF build issues
In lazy.nvim, the `build` parameter accept value in different format.
If the value is
1. a string and starts with `:`, it will be treated as vim command
2. a string and starts without `:`, it will be treated as shell command
3. a function. Lazy.nvim will run this function

I compared closely between case 1 and case 3. In case 1, when lazy.nvim
runs the viml command, the runtimepath is already populated with the
current plugin we are trying to build.
However in case 3, the runtimepath is not populated with the plugin
path, which means that any command you run by this plugin is not
available.

So I did it in a hacky way to add the plugin path to runtimepath
manually, and source it manually using `:runtime` command. The `:
runtime` command is needed because in the init process, adding the
plugin path to runtimepath does not ensure that the script under this
plugin is sourced immediately. So if we want to use the command/function
immediately, we need to source it manually, see also https://github.com/neovim/neovim/issues/29957.
2024-08-02 23:38:16 +08:00
jdhao bbb8545403 update lualine config
- rearrange a few components
- add and remove a few components
2024-08-02 06:23:21 +08:00
jdhao 9efadac8fb update lazy.nvim config 2024-08-01 04:14:34 +08:00
jdhao 6e137fe9a3 make firenvim work again
1. fix build issue
2. fix PATH env issue
2024-07-31 07:09:50 +08:00
jdhao 719fbfc1ab update lua_ls settings 2024-07-31 05:42:33 +08:00
jdhao e815de294f update plugin for markdown preview 2024-07-27 03:25:36 +08:00
jdhao ca7430056c update to neovim version 0.10.1 2024-07-26 03:32:54 +08:00
jdhao cb8c9208e1 update which-key conf and some mappings 2024-07-25 04:00:17 +08:00
jdhao ce1e13e2c9 use plugin nvim-autopairs for autopair
delimitMate is not updated for a long time.
2024-07-14 05:17:49 +08:00
jdhao 2af616bb0d Update hop.nvim conf to support Chinese 2024-06-26 03:33:24 +08:00
jdhao 3694d3c237 Update config for GitSigns 2024-06-26 03:25:01 +08:00
jdhao 69d8543495 remove emmylua since neovim has builtin annotation
Seee also this https://github.com/neovim/neovim/pull/24493
2024-05-20 22:09:07 +02:00
jdhao be3d134c37 use vim.uv instead of vim.loop 2024-05-20 21:52:52 +02:00
jdhao 601396f700 upgrade neovim to latest stable
The way to compare versions are changed due to a bug in comparing
versions in the neovim core: https://github.com/neovim/neovim/issues/28782
2024-05-20 21:33:38 +02:00
jdhao e462ebcbcc Enable treesitter folding for Python and Lua 2024-05-08 03:46:45 +08:00
jdhao 2f8482639d update some mappings
1. fix a typo in gJ mapping when setting the mark, the correct syntax is
   `mz` (set mark `z`), not `zm`

2. fix bug with `iB` text object: previously `viB` does not work as
   expected, because it does not select the entire buffer as expected.
   After much investigation, I found it is because the `<cmd>` mapping
   argument. If we use `<cmd>` argument for mapping, the mode does not
   change. So if we use `viB`, inititally we are still in visual mode.
   Later in the implementation, when we use `` normal! `<V`>  `` to
   select the entire buffer, it interferes with original visual mode. As
   a result, the entire buffer is not selected. In the text obj
   implementation, we can use `exe "normal! \<Esc>"` to clear the visual
   mode and make `viB`, but this is not ideal. I think it is eaiser to
   just not use the `<cmd>` argument and use `:<C-U>` instead.
2024-02-28 06:36:05 +08:00
jdhao 050eacaee2 Stop showing percent location
The percent location is useless and just noise.
2024-02-23 06:11:21 +08:00
jdhao 01bc4b40d3 update used plugins 2024-02-02 03:52:26 +08:00
jdhao c06d46e84d remove lazylock
I don't use this feature at all.
2024-02-02 03:43:55 +08:00
jdhao 7cf70f31af Update colorscheme conf
1. remove some colorscheme that doesn't work well with Markdown
2. change how the colorscheme conf is organized.
2024-02-02 03:40:11 +08:00
jdhao 8416508686 Enable nvim-tree to open dir during startup
Now when you open a directory when starting nvim, nvim-tree will be
opened to handle the directory correctly, see also issue #257.
2024-01-07 15:24:47 +01:00
jdhao df9491b05b bump neovim version to 0.9.5 2024-01-07 14:45:29 +01:00
jdhao 17d2e3ab3e Deal with other variant of unix timestamp 2023-10-21 00:53:15 +02:00
jdhao 2c9948300d Add diffview.nvim for viewing diffs 2023-10-18 22:10:11 +02:00
jdhao dfaa3d97a5 update plugin spec 2023-10-12 23:26:43 +02:00
jdhao 8d74fcb75c Remove obsolete options for nvim-tree 2023-10-11 20:43:24 +02:00
jdhao b1f0ef63ef Rename vimscript conf directory 2023-10-11 20:41:25 +02:00
jdhao 54ca6d4191 update to nvim 0.9.4 2023-10-11 20:35:50 +02:00
jdhao 97af59e670 remove obsolete option for indent-blankline 2023-10-03 15:14:34 +02:00
jdhao 4d8ef868ad upgrade indent-blankline to v3 2023-09-28 23:41:42 +02:00
jdhao 3137850db6 Show Py virtual env on statusline 2023-09-28 09:42:27 +02:00
jdhao eccdc62f38 remove colorschemes rose-pine 2023-09-22 19:38:28 +02:00
jdhao ad483a7dc0 Use the matained fork of hop.nvim 2023-09-16 14:47:43 +02:00
jdhao 6df27d1c22 upgrade to neovim 0.9.2 2023-09-16 14:26:38 +02:00
jdhao 7f6627cfa1 update plugin conf for Lazy.nvim 2023-09-10 22:16:16 +02:00
jdhao 7ff11a9760 update plugin lazy loading events 2023-09-05 00:22:02 +02:00
jdhao cc4688d089 Loosen the version check condition
Other version of nvim can still run this config, but should use with
care.
2023-09-01 21:39:08 +02:00
jdhao 8a1b3193a4 fix bufferline loading issue 2023-09-01 21:27:13 +02:00
jdhao e92362041c fix hlslens issue when no pattern is found
The captured error message is not correct before.
2023-09-01 21:22:22 +02:00
jdhao 63ff776758 fix loading order of nvim-cmp and nvim-lsp 2023-09-01 20:52:46 +02:00
jdhao 41c8c81f21 update spell 2023-09-01 01:08:41 +02:00
jdhao 997c6286df Optimize plugin loading speed 2023-09-01 01:07:16 +02:00
jdhao 359621b126 fix multi visual line delete issue
For TextYankPost event, it includes both yank and delete, we should only
restore cursor position for yank, not for delete. Otherwise, it messes
up with text deletion when you visually select multiple lines and delete
them. See also issue reported here: https://github.com/jdhao/nvim-config/pull/222#issuecomment-1698634645
2023-09-01 00:26:08 +02:00
jdhao 4dc2d9575b disable horizontal scroll by mouse 2023-08-29 23:44:07 +02:00
jdhao fc1c447319 fix multi-line yank issue, close #220
The previous way of keep the cursor while yanking is not perfect.
It will break multi-line yank (`{count}yy`).
2023-08-28 21:11:32 +02:00
jdhao 1391ca7ff1 feat: switch from packer.nvim to lazy.nvim 2023-08-27 23:14:31 +02:00
jdhao 6a6f8ff597 Update condition for installing vim-xkbswitch 2023-08-23 00:48:21 +02:00
jdhao 946e65662b fix nvimtree conf, close #215 2023-08-14 23:55:17 +02:00
jdhao 4a6379ca5d update git-linker conf
1. Add configuration for azure devops
2. change the mappings slightly
2023-08-09 19:52:58 +02:00
jdhao 855a88b532 fix: user lua conf reloading fails
The cache should be invalidated. This fix does not work 100%, because, e.g.,
there are other configs hiding deeper under lua/config/ directory.
A restart is the best way to reload the config.
2023-07-29 14:34:42 +02:00
jdhao 892cd49f06 doc: update doc and install guide for pylsp 2023-07-29 13:09:37 +02:00
jdhao e53ee104ec feat: move lua conf under lua directory 2023-07-28 22:28:36 +02:00
jdhaoandGitHub 671c78df9b feat: more ignore files for LeaderF (#209) 2023-07-29 04:09:50 +08:00
jdhao 1608a36dd3 fix: conf is not local 2023-07-25 23:00:25 +02:00
jdhao 450f058da5 feat: support venv in Mypy
Specify the correct python executable path for mypy to work well.
2023-07-25 22:59:06 +02:00
jdhao e2f348cb37 fix: missing nerdfonts
Since wezterm upgrade its support for Nerd Fonts 3.0, we should update
the codepoints used for some of the Unicode Icons. Their code points are
changed due to breaking changes in Nerd Fonts.
2023-07-25 22:53:20 +02:00
jdhao fc8175d32d feat: update diagnostic mappings
Use separate key mappings to show diagnostics for the current buffer and
all opened files.
2023-07-22 15:01:41 +02:00
jdhao 4034b6b673 feat: update pylsp conf
1. support using black as formatter
2. replace obsolete pyls-isort with maintained ones
2023-07-22 14:51:27 +02:00
jdhao 67a4b6e6d0 feat: add treesitter toml 2023-07-22 14:46:10 +02:00