-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
195 lines (135 loc) · 6.88 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
TODO: 3 file mode
https://github.com/sjl/splice.vim/issues/23
https://github.com/sjl/splice.vim/issues/11
TODO: Option to remove menu, is that "disable"?
TODO: Each click on "SpliceCommnads" bring up another, even if already.
TODO: Only use *highlight-default* for Splice default highlights.
TODO: Convert help to html. Use jVi tools?
TODO: Let highlight settings be dynamic, have popup window to configure.
Same for other settings?
TODO: enum for settings keys?
TODO: Doc show example of adding additional mappings. bind_extra: [[]...]
TODO: ? click on "Layout:" to just do highlight.
But clicking on mode does the same thing, redoes the layout, but fast.
TODO: In diff mode, clicking in "One" changes cursor in "Result". scrollbind?
TODO: Visit Focus(#) in favor of Focus(buffers.<window_name>)
TODO: Don't change 'diff' if not toggled.
TODO: No shortcuts for diff options.
TODO: ?Have diff options be dynamic change as you click properties
TODO: window 2 wiggle when SetProperty on diff options
TODO: keep same buffer active when cycling layouts
TODO: In search.vim get rid of "var use_props". Also "debug"?
CAN'T DO THIS until props can override diff coloration
Diff highlighing not replaced by text property highlighting when combine false
https://github.com/vim/vim/issues/14966
TODO: Higlight interactions with vim's diff mode.
Query vim to find out buffer-line/window-line correspondence
for conflict display across all windows. Other uses?
TODO: In config "logging_exclude_categories: [3]" gets exception in spice_boot.
But the error message does say "init logging expected list<string>
got list<number>. So that's workable for now.
TODO: When searching for conflicts look only between <<<<,>>>>.
Build a structure for conflict {start,end,marker}.
TODO: Play with how can take both sides
TODO: <M-n>,<M-N> highlight conflict in all windows?
UI
TODO: Use construct like: buffers.result.winnr (NOTE: the -1)
Make winnr a property rather than function?
TODO: Understand scrollbind,syncbind,scrollopt
'diff' mode, diff.txt
=========== Issues from the original Splice ===========
https://github.com/sjl/splice.vim
Ability to quickly switch both panels in 'compare' mode
https://github.com/sjl/splice.vim/issues/32
Commented: Maybe user defined shortcuts? Like `bind_user`.
can't open submodule dir
https://github.com/sjl/splice.vim/issues/25
fugitive interactions?
Problem when file path contains dot
https://github.com/sjl/splice.vim/issues/26
python traceback
Splice inserts carriage returns (^M) to every line in the final
version when merging text file
https://github.com/sjl/splice.vim/issues/24
Commented: How to reproduce?
Splice fails to load if any input file is missing
https://github.com/sjl/splice.vim/issues/23
Commented: What should happen? Difftool mode?
Splice closes immediatly on Windows
https://github.com/sjl/splice.vim/issues/20
Commented: still an issue?
Bug in changing files to compare
https://github.com/sjl/splice.vim/issues/10
Commented:
Hi @dwijnand , @Profpatsch, @vlmarek
Think that this issue and #16 and #32 all the same thing?
The rest of them are very old, assume they're dealt with.
=== Do the other premerge options work? keep-merge3, keep-mergediff
=========== UI ===========
TODO: option to disable mouse/rollover
TODO: Baloon popup when hover over a command?
TODO: Shortcut as button with list and popup when hover?
Which commands valid: grey out , don't higlight rollover
Which file can be selected: orig, one, two, res
May, or may not, depend on focused window.
In some cases, rather than loading that file into window,
it switches to the window named.
TODO: If not vim9script, map SpliceInit (or whatever) to no vim9 message.
Or, make message clear that the plugin should be removed?
=========== DOC ===========
TODO: doc logging
the log file is never trunctated, persists, grows without limit
=========== DONE ===========
DONE: boolsetting bug, BUT: see comment with defaults in splice.vim
=== boolsetting bug, see comment with defaults in splice.vim
TODO: Options for cursorline highlight, Enable, hl_cursorline.
=============================
======= Documentation =======
=============================
Logging
vim function Log(string)
" splice_log_file defaults to $HOME/SPLICE_LOG
let g:splice_log_file = $HOME .. '/play/SPLICE_LOG'
" splice_log_enabled defaults to false
let g:splice_log_enable = v:true
KeyBinding
Stay compatible with v1.1.0, circa 2012. DirDiff latest is like this.
NOTE: the Splice bindings are only done after SpliceInit is invoked
so if Splice is only used from SCM, these bindings should
not interfere with other plugins. In particular, some of these
bindings overwrite DirDiff bindings.
Highest priority are per command mappings
g:splice_bind_<command> = '<mapping>'
where <command> ::= Grid | Loupe | ...
For example
g:splice_bind_Grid = '-g' " this is the current default
g:splice_bind_Grid = '<M-g>' " use the meta key
There is a flag to control whether or not to setup mappings for the
Splice commands.
g:splice_bind_enable
This flag Defaults to 1 for compatibility. But it is recommended to
explicitly set this if you want mappings. The default may change in
the future to avoid changing user mappings by default.
Per command mappings take precedence. Any commands not mapped with
"g:splice_config.bind_*" will get the default mapping. If a command
mapping is an empty string, '', or set to 'None', it will not be mapped.
Copy/paste to assist setup; these are the defaults (<prefix> == '-')
g:splice_config.bind_Grid = '-g'
g:splice_config.bind_Loupe = '-l'
g:splice_config.bind_Compare = '-c'
g:splice_config.bind_Path = '-p'
g:splice_config.bind_Original = '-o'
g:splice_config.bind_One = '-1'
g:splice_config.bind_Two = '-2'
g:splice_config.bind_Result = '-r'
g:splice_config.bind_Diff = '-d'
g:splice_config.bind_DiffOff = '-D'
g:splice_config.bind_UseHunk = '-u'
g:splice_config.bind_Scroll = '-s'
g:splice_config.bind_Layout = '-<space>'
g:splice_config.bind_Next = '-n'
g:splice_config.bind_Previous = '-N'
g:splice_config.bind_Quit = '-q'
g:splice_config.bind_Cancel = '-CC'
g:splice_config.bind_UseHunk1 = '-u1'
g:splice_config.bind_UseHunk2 = '-u2'