Skip to content
This repository was archived by the owner on Jul 16, 2024. It is now read-only.

Commit 3c8159d

Browse files
committed
Merge branch 'main' of github.com:towry/nvim
2 parents 7439733 + 5f98757 commit 3c8159d

15 files changed

+134
-1119
lines changed

README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
- Enhanced workflow for opening folders and searching files, enabling additional actions to be performed on selected folders.
99
- Git keymaps for diff, log (file, etc.), blame (file, chunks), stage, and more.
1010
- Optimized for use as a git mergetool, favoring a two-way merge approach.
11-
- Reasonable buffer closing behavior, close buffer without surprise.
1211

1312
## Screenshots
1413

@@ -26,7 +25,7 @@
2625
</tr>
2726
</table>
2827
<table>
29-
<tr><td>Git</td></tr>
28+
<tr><td>Git(logs, mergetool)</td></tr>
3029
<tr>
3130
<td>
3231
<img width="100%" alt="diff" src="https://github.com/towry/nvim/assets/8279858/ff35a13c-bbbb-4ae9-b524-7c4b06fc4aaf"></td>

doc/user-notes.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*user-notes.txt* For NVIM v0.8.0 Last change: 2024 May 03
1+
*user-notes.txt* For NVIM v0.8.0 Last change: 2024 May 06
22

33
==============================================================================
44
Table of Contents *user-notes-table-of-contents*

lua/user/config/autocmd.lua

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
--- https://github.com/akinsho/dotfiles/blob/0567c6786a7ead5c826f4b4c86776ec715223157/.config/nvim/plugin/autocommands.lua#L141
12
local au = require('userlib.runtime.au')
23

34
local M = {}
@@ -101,6 +102,12 @@ function M.load_on_startup()
101102
buffer = bufnr,
102103
silent = true,
103104
})
105+
set('n', 'q', '<C-w>c', {
106+
buffer = bufnr,
107+
silent = true,
108+
nowait = true,
109+
noremap = true,
110+
})
104111
end,
105112
},
106113
},
@@ -210,20 +217,16 @@ function M.load_on_startup()
210217
},
211218
-- enable foldexpr
212219
{
213-
{ 'BufWinEnter' },
220+
-- before modeline
221+
{ 'BufRead' },
214222
{
215223
group = 'enable_foldexpr_for_buf',
216224
callback = function(ctx)
217225
--- https://github.com/nvim-telescope/telescope.nvim/issues/699
218226
--- https://github.com/nvim-treesitter/nvim-treesitter/issues/1337
219227
local buf = ctx.buf
220228
local lines = vim.api.nvim_buf_line_count(buf)
221-
if not vim.b[buf].is_big_file and lines < 10000 then
222-
vim.wo.foldmethod = 'expr'
223-
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
224-
-- foldtext with ts hi
225-
-- vim.wo.foldtext = 'v:lua.Ty.fold_text()'
226-
else
229+
if vim.b[buf].is_big_file or lines > 10000 then
227230
vim.wo.foldmethod = 'manual'
228231
vim.wo.foldexpr = ''
229232
end

lua/user/config/init.lua

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ function M.setup()
1313
require('user.config.options').startup()
1414
require('user.config.options').setup()
1515
require('user.config.keymaps').setup()
16+
require('user.config.neovide')
1617

1718
require('user.config.autocmd').setup({
1819
-- lazy

lua/user/config/keymaps.lua

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
local keymap = require('userlib.runtime.keymap')
2-
local libutil = require('userlib.runtime.utils')
2+
-- local libutil = require('userlib.runtime.utils')
33
local set, cmd, cmd_modcall = keymap.set, keymap.cmdstr, keymap.cmd_modcall
44

55
local M = {}
66
local is_profiling = false
77

88
local function setup_basic()
9+
set('n', '*', function()
10+
vim.fn.setreg('/', [[\V\<]] .. vim.fn.escape(vim.fn.expand('<cword>'), [[/\]]) .. [[\>]])
11+
vim.fn.histadd('/', vim.fn.getreg('/'))
12+
vim.o.hlsearch = true
13+
end, {
14+
nowait = true,
15+
noremap = true,
16+
})
917
set('n', 'q', '<NOP>', {})
1018
set('n', '<C-q>', 'q', { noremap = true, desc = 'Start record macro' })
1119
set('n', '<Leader>er', 'gR', { nowait = true, desc = 'Enter visual replace mode' })

lua/user/config/neovide.lua

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
do
2+
if not vim.g.neovide then
3+
return
4+
end
5+
end
6+
7+
vim.o.guifont = 'JetBrainsMono Nerd Font:h14'
8+
vim.g.neovide_window_blurred = true
9+
vim.g.neovide_floating_blur_amount_x = 2.0
10+
vim.g.neovide_floating_blur_amount_y = 2.0
11+
vim.g.neovide_floating_shadow = true
12+
vim.g.neovide_floating_z_height = 10
13+
vim.g.neovide_light_angle_degrees = 45
14+
vim.g.neovide_light_radius = 5
15+
vim.g.neovide_show_border = false
16+
vim.g.neovide_theme = 'auto'
17+
vim.g.neovide_unlink_border_highlights = true
18+
-- vim.g.neovide_refresh_rate = 60
19+
vim.g.neovide_confirm_quit = true
20+
vim.g.neovide_input_macos_alt_is_meta = true
21+
vim.g.neovide_input_ime = false
22+
vim.g.neovide_cursor_animation_length = 0.05
23+
vim.g.neovide_cursor_trail_size = 0.8
24+
vim.g.neovide_cursor_antialiasing = false
25+
vim.g.neovide_cursor_animate_in_insert_mode = false
26+
vim.g.neovide_cursor_animate_command_line = false
27+
vim.g.neovide_cursor_unfocused_outline_width = 0.125
28+
vim.g.neovide_cursor_smooth_blink = false
29+
30+
vim.keymap.set('v', '<D-c>', '"+y') -- Copy
31+
vim.keymap.set('n', '<D-v>', '"+P') -- Paste normal mode
32+
vim.keymap.set('v', '<D-v>', '"+P') -- Paste visual mode
33+
vim.keymap.set('c', '<D-v>', '<C-R>+') -- Paste command mode
34+
vim.keymap.set('i', '<D-v>', '<ESC>l"+Pli') -- Paste insert mode
35+
36+
local function set_ime(args)
37+
if args.event:match('Enter$') then
38+
vim.g.neovide_input_ime = true
39+
else
40+
vim.g.neovide_input_ime = false
41+
end
42+
end
43+
44+
local ime_input = vim.api.nvim_create_augroup('ime_input', { clear = true })
45+
46+
vim.api.nvim_create_autocmd({ 'InsertEnter', 'InsertLeave' }, {
47+
group = ime_input,
48+
pattern = '*',
49+
callback = set_ime,
50+
})
51+
52+
vim.api.nvim_create_autocmd({ 'CmdlineEnter', 'CmdlineLeave' }, {
53+
group = ime_input,
54+
pattern = '[/\\?]',
55+
callback = set_ime,
56+
})

lua/user/config/options.lua

+2
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ function M.init_interface()
140140
o.emoji = true --- Fix emoji display
141141
o.cursorlineopt = 'line,number'
142142
o.foldcolumn = '1' -- Folding
143+
o.foldmethod = 'expr'
144+
o.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
143145
o.list = true
144146
o.listchars:append('tab:· ')
145147
-- o.listchars:append('eol:↩')

lua/user/plugins/finder.lua

+19-3
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,7 @@ plug({
634634
desc = 'Show jumplist',
635635
},
636636
}
637-
or {},
637+
or {},
638638
dependencies = {
639639
{ 'nvim-lua/popup.nvim' },
640640
{ 'nvim-lua/plenary.nvim' },
@@ -976,7 +976,23 @@ plug({
976976
},
977977
},
978978
files = {
979-
-- formatter = 'path.filename_first',
979+
formatter = 'path.filename_first',
980+
},
981+
grep = {
982+
formatter = 'path.filename_first',
983+
winopts = {
984+
-- split = 'belowright new',
985+
preview = {
986+
layout = 'flex',
987+
flip_columns = 240,
988+
},
989+
},
990+
},
991+
oldfiles = {
992+
formatter = 'path.filename_first',
993+
},
994+
buffers = {
995+
formatter = 'path.filename_first',
980996
},
981997
live_grep = {
982998
formatter = 'path.filename_first',
@@ -1032,7 +1048,7 @@ plug({
10321048
-- ['bg'] = { 'bg', { 'NormalFloat' } },
10331049
-- ['border'] = { 'fg', { 'FloatBorder' } },
10341050
-- ['gutter'] = { 'bg', { 'NormalFloat' } },
1035-
['bg+'] = { 'bg', { 'CursorLine' } },
1051+
-- ['bg+'] = { 'bg', { 'CursorLine' } },
10361052
},
10371053
})
10381054

lua/user/plugins/git.lua

+4-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@ plug({
105105
-- https://github.com/niuiic/git-log.nvim/blob/main/lua/git-log/init.lua
106106
local file_name = vim.api.nvim_buf_get_name(0)
107107
local line_range = libutils.get_range()
108-
vim.cmd(string.format([[vert Git log -L %s,%s:%s]], line_range[1], line_range[2], file_name))
108+
local cmd =
109+
string.format([[vert Git log --max-count=10 -L %s,%s:%s]], line_range[1], line_range[2], file_name)
110+
vim.print(cmd)
111+
vim.cmd(cmd)
109112
end,
110113
desc = 'View log for selected chunks',
111114
mode = { 'v', 'x' },

lua/user/plugins/statusline.lua

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ plug({
3434
provider = '%=',
3535
},
3636
{
37+
comp.rpad(comp.LastExCommand),
3738
comp.rpad(comp.Copilot),
3839
comp.rpad(comp.Codeium),
3940
comp.rpad({

lua/user/plugins/workflow.lua

+30-6
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,6 @@ plug({
516516
return
517517
end
518518
require('mini.bufremove').unshow(buf)
519-
-- TODO: use bufstack.
520519
vim.api.nvim_set_current_win(win)
521520
vim.api.nvim_win_set_buf(win, buf)
522521
end,
@@ -530,23 +529,39 @@ plug({
530529
keys = {
531530
{
532531
-- super + i
533-
keymap.super('i'),
532+
-- keymap.super('i'),
533+
'<C-n>',
534534
"<cmd>lua require('bufjump').forward()<cr>",
535535
desc = 'Forward buf jump',
536536
noremap = true,
537537
},
538538
{
539539
-- super + o
540-
keymap.super('o'),
540+
-- keymap.super('o'),
541+
'<C-p>',
541542
"<cmd>lua require('bufjump').backward()<cr>",
542543
desc = 'Backward buf jump',
543544
noremap = true,
544545
},
546+
{
547+
-- '<M-i>',
548+
keymap.super('i'),
549+
[[<cmd>lua require('bufjump').forward_same_buf()<cr>]],
550+
desc = 'Forward in same buf jump',
551+
},
552+
{
553+
-- '<M-o>',
554+
keymap.super('o'),
555+
[[<cmd>lua require('bufjump').backward_same_buf()<cr>]],
556+
desc = 'Backward in same buf jump',
557+
},
545558
},
546559
opts = {
547-
forward = nil,
548-
backward = nil,
549-
on_success = nil,
560+
forward_key = false,
561+
backward_key = false,
562+
on_success = function()
563+
vim.cmd([[execute "normal! g`\"zz"]])
564+
end,
550565
},
551566
},
552567
})
@@ -808,3 +823,12 @@ plug({
808823
deleteBufferWhenFileDeleted = false,
809824
},
810825
})
826+
827+
plug({
828+
'ariel-frischer/bmessages.nvim',
829+
cmd = { 'Bmessages', 'Bmessagesvs', 'Bmessagessp', 'BmessagesEdit' },
830+
event = 'CmdlineEnter',
831+
opts = {
832+
split_type = 'split',
833+
},
834+
})

lua/userlib/fzflua/init.lua

-18
Original file line numberDiff line numberDiff line change
@@ -112,24 +112,6 @@ function M.files(opts)
112112
if not opts.cwd then
113113
opts.cwd = safe_cwd(vim.t.Cwd)
114114
end
115-
local cmd = nil
116-
if vim.fn.executable('fd') == 1 then
117-
local fzfutils = require('fzf-lua.utils')
118-
-- fzf-lua.defaults#defaults.files.fd_opts
119-
cmd = string.format(
120-
[[fd --color=never --type f --follow --exclude .git -x echo {} | awk -F/ '{printf "%%s: ", $0; printf "%%s ", $NF; gsub(/^\.\//,"",$0); gsub($NF,"",$0); printf "%s ", $0; print ""}']],
121-
fzfutils.ansi_codes.grey('%s')
122-
)
123-
opts.fzf_opts = {
124-
-- process ansi colors
125-
['--ansi'] = '',
126-
['--no-hscroll'] = '',
127-
['--with-nth'] = '2..',
128-
['--delimiter'] = '\\s',
129-
['--tiebreak'] = 'begin,index',
130-
}
131-
end
132-
opts.cmd = cmd
133115

134116
opts.actions = {
135117
['ctrl-h'] = function(_, o)

lua/userlib/ui/dropdown.lua

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ local action_state = require('telescope.actions.state')
1212
local conf = require('telescope.config').values
1313
local entry_display = require('telescope.pickers.entry_display')
1414
local finders = require('telescope.finders')
15-
local themes = require('telescope.themes')
1615
local pickers = require('telescope.pickers')
1716

1817
local function command_entry_maker(max_width)

0 commit comments

Comments
 (0)