Mercurial > vim-lawrencium
annotate plugin/lawrencium.vim @ 150:7aa118f73e8c
Improve support for moved files in diff commands.
Now we only check for moved files if we get an empty diff/cat output from
the normal codepath. We also do that for both sides of a diff, and for
the diff-summary commands.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 10 Oct 2020 09:30:27 -0700 |
parents | 78176bdfe0be |
children |
rev | line source |
---|---|
0 | 1 " lawrencium.vim - A Mercurial wrapper |
2 " Maintainer: Ludovic Chabant <http://ludovic.chabant.com> | |
114
facd2506066f
Bumped version. I should release this stuff more often.
Ludovic Chabant <ludovic@chabant.com>
parents:
113
diff
changeset
|
3 " Version: 0.4.0 |
0 | 4 |
133
add9f0ed0b49
Save/restore `&foldenable` when diffing files.
Ludovic Chabant <ludovic@chabant.com>
parents:
132
diff
changeset
|
5 |
0 | 6 " Globals {{{ |
7 | |
8 if !exists('g:lawrencium_debug') | |
9 let g:lawrencium_debug = 0 | |
10 endif | |
11 | |
12 if (exists('g:loaded_lawrencium') || &cp) && !g:lawrencium_debug | |
13 finish | |
14 endif | |
6
1da613c13d81
Better hg-status window.
Ludovic Chabant <ludovic@chabant.com>
parents:
5
diff
changeset
|
15 if (exists('g:loaded_lawrencium') && g:lawrencium_debug) |
1da613c13d81
Better hg-status window.
Ludovic Chabant <ludovic@chabant.com>
parents:
5
diff
changeset
|
16 echom "Reloaded Lawrencium." |
1da613c13d81
Better hg-status window.
Ludovic Chabant <ludovic@chabant.com>
parents:
5
diff
changeset
|
17 endif |
0 | 18 let g:loaded_lawrencium = 1 |
19 | |
20 if !exists('g:lawrencium_hg_executable') | |
21 let g:lawrencium_hg_executable = 'hg' | |
22 endif | |
23 | |
43
fc20a265551d
Added auto cd'ing into the repo root for `:Hg`.
Ludovic Chabant <ludovic@chabant.com>
parents:
41
diff
changeset
|
24 if !exists('g:lawrencium_auto_cd') |
fc20a265551d
Added auto cd'ing into the repo root for `:Hg`.
Ludovic Chabant <ludovic@chabant.com>
parents:
41
diff
changeset
|
25 let g:lawrencium_auto_cd = 1 |
fc20a265551d
Added auto cd'ing into the repo root for `:Hg`.
Ludovic Chabant <ludovic@chabant.com>
parents:
41
diff
changeset
|
26 endif |
fc20a265551d
Added auto cd'ing into the repo root for `:Hg`.
Ludovic Chabant <ludovic@chabant.com>
parents:
41
diff
changeset
|
27 |
0 | 28 if !exists('g:lawrencium_trace') |
29 let g:lawrencium_trace = 0 | |
30 endif | |
31 | |
31
3a0f7bb6ea64
Hgstatus window improvements and bug fixes:
Ludovic Chabant <ludovic@chabant.com>
parents:
28
diff
changeset
|
32 if !exists('g:lawrencium_define_mappings') |
3a0f7bb6ea64
Hgstatus window improvements and bug fixes:
Ludovic Chabant <ludovic@chabant.com>
parents:
28
diff
changeset
|
33 let g:lawrencium_define_mappings = 1 |
3a0f7bb6ea64
Hgstatus window improvements and bug fixes:
Ludovic Chabant <ludovic@chabant.com>
parents:
28
diff
changeset
|
34 endif |
3a0f7bb6ea64
Hgstatus window improvements and bug fixes:
Ludovic Chabant <ludovic@chabant.com>
parents:
28
diff
changeset
|
35 |
61
ea794e48d4e2
Better way to handle buffer actions:
Ludovic Chabant <ludovic@chabant.com>
parents:
59
diff
changeset
|
36 if !exists('g:lawrencium_auto_close_buffers') |
ea794e48d4e2
Better way to handle buffer actions:
Ludovic Chabant <ludovic@chabant.com>
parents:
59
diff
changeset
|
37 let g:lawrencium_auto_close_buffers = 1 |
ea794e48d4e2
Better way to handle buffer actions:
Ludovic Chabant <ludovic@chabant.com>
parents:
59
diff
changeset
|
38 endif |
ea794e48d4e2
Better way to handle buffer actions:
Ludovic Chabant <ludovic@chabant.com>
parents:
59
diff
changeset
|
39 |
59
396da6e76952
Added `Hgannotate` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
58
diff
changeset
|
40 if !exists('g:lawrencium_annotate_width_offset') |
396da6e76952
Added `Hgannotate` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
58
diff
changeset
|
41 let g:lawrencium_annotate_width_offset = 0 |
396da6e76952
Added `Hgannotate` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
58
diff
changeset
|
42 endif |
396da6e76952
Added `Hgannotate` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
58
diff
changeset
|
43 |
91
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
44 if !exists('g:lawrencium_status_win_split_above') |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
45 let g:lawrencium_status_win_split_above = 0 |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
46 endif |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
47 |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
48 if !exists('g:lawrencium_status_win_split_even') |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
49 let g:lawrencium_status_win_split_even = 0 |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
50 endif |
e21a1819ab27
New command to export a patch and allow existing log command to take options.
Kannan Rajah <krajah@maprtech.com>
parents:
90
diff
changeset
|
51 |
145
78176bdfe0be
Add `lawrencium_status_win_maxheight` setting.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
52 if !exists('g:lawrencium_status_win_maxheight') |
78176bdfe0be
Add `lawrencium_status_win_maxheight` setting.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
53 let g:lawrencium_status_win_maxheight = 50 |
78176bdfe0be
Add `lawrencium_status_win_maxheight` setting.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
54 endif |
78176bdfe0be
Add `lawrencium_status_win_maxheight` setting.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
55 |
108
497f7a481599
Added new `Hgrecord` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
107
diff
changeset
|
56 if !exists('g:lawrencium_record_start_in_working_buffer') |
497f7a481599
Added new `Hgrecord` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
107
diff
changeset
|
57 let g:lawrencium_record_start_in_working_buffer = 0 |
497f7a481599
Added new `Hgrecord` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
107
diff
changeset
|
58 endif |
497f7a481599
Added new `Hgrecord` command.
Ludovic Chabant <ludovic@chabant.com>
parents:
107
diff
changeset
|
59 |
139
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
60 if !exists('g:lawrencium_extensions') |
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
61 let g:lawrencium_extensions = [] |
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
62 endif |
71 | 63 |
0 | 64 " }}} |
65 | |
139
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
66 " Setup {{{ |
125
bbb19d37c681
Don't use `HGPLAIN` for `:Hg`.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
67 |
139
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
68 call lawrencium#init() |
0 | 69 |
70 augroup lawrencium_detect | |
71 autocmd! | |
139
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
72 autocmd BufNewFile,BufReadPost * call lawrencium#setup_buffer_commands() |
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
73 autocmd VimEnter * if expand('<amatch>')==''|call lawrencium#setup_buffer_commands()|endif |
0 | 74 augroup end |
75 | |
67
1cf08e4a7947
Made Lawrencium file easier to extend.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
76 augroup lawrencium_files |
139
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
77 autocmd! |
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
78 autocmd BufReadCmd lawrencium://**//**//* exe lawrencium#read_lawrencium_file(expand('<amatch>')) |
065625e1bb31
Split plugin file into multiple extensions.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
79 autocmd BufWriteCmd lawrencium://**//**//* exe lawrencium#write_lawrencium_file(expand('<amatch>')) |
67
1cf08e4a7947
Made Lawrencium file easier to extend.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
80 augroup END |
1cf08e4a7947
Made Lawrencium file easier to extend.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
81 |
1cf08e4a7947
Made Lawrencium file easier to extend.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
82 " }}} |
1cf08e4a7947
Made Lawrencium file easier to extend.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
83 |