@@ -41,6 +41,7 @@ local M = {}
4141local VCSAdapter = oop .create_class (" VCSAdapter" )
4242
4343VCSAdapter .Rev = Rev
44+ VCSAdapter .config_key = nil
4445
4546--- @class vcs.adapter.VCSAdapter.Opt
4647--- @field cpath string ? # CWD path
165166
166167--- @diagnostic disable : unused-local , missing-return
167168
168- --- @param args string[]
169- --- @return string[] ? args to show commit content
170- function VCSAdapter :get_show_args (args )
169+ --- @param path string
170+ --- @param rev Rev ?
171+ --- @return string[] args to show commit content
172+ function VCSAdapter :get_show_args (path , rev )
171173 oop .abstract_stub ()
172174end
173175
@@ -226,27 +228,6 @@ function VCSAdapter:rev_to_args(left, right)
226228 oop .abstract_stub ()
227229end
228230
229- --- Arguments to show name and status of files
230- --- @param args string[] ? Extra args
231- --- @return string[]
232- function VCSAdapter :get_namestat_args (args )
233- oop .abstract_stub ()
234- end
235-
236- --- Arguments to show number of changes to files
237- --- @param args string[] ? Extra args
238- --- @return string[]
239- function VCSAdapter :get_numstat_args (args )
240- oop .abstract_stub ()
241- end
242-
243- --- Arguments to list all files
244- --- @param args string[] ? Extra args
245- --- @return string[]
246- function VCSAdapter :get_files_args (args )
247- oop .abstract_stub ()
248- end
249-
250231--- Restore a file to the requested state
251232--- @param path string # file to restore
252233--- @param kind ' "staged"' | ' "working"'
@@ -299,15 +280,36 @@ function VCSAdapter:stage_index_file(file)
299280 oop .abstract_stub ()
300281end
301282
283+ --- @param self VCSAdapter
284+ --- @param left Rev
285+ --- @param right Rev
286+ --- @param args string[]
287+ --- @param kind vcs.FileKind
288+ --- @param opt vcs.adapter.LayoutOpt
289+ --- @param callback function
290+ VCSAdapter .tracked_files = async .wrap (function (self , left , right , args , kind , opt , callback )
291+ oop .abstract_stub ()
292+ end , 7 )
293+
294+ --- @param self VCSAdapter
295+ --- @param left Rev
296+ --- @param right Rev
297+ --- @param opt vcs.adapter.LayoutOpt
298+ --- @param callback function
299+ VCSAdapter .untracked_files = async .wrap (function (self , left , right , opt , callback )
300+ oop .abstract_stub ()
301+ end , 5 )
302+
302303--- @diagnostic enable : unused-local , missing-return
303304
304305--- @param self VCSAdapter
305- --- @param args string[]
306+ --- @param path string
307+ --- @param rev ? Rev
306308--- @param callback fun ( stderr : string[] ?, stdout : string[] ?)
307- VCSAdapter .show = async .wrap (function (self , args , callback )
309+ VCSAdapter .show = async .wrap (function (self , path , rev , callback )
308310 local job = Job :new ({
309311 command = self :bin (),
310- args = self :get_show_args (args ),
312+ args = self :get_show_args (path , rev ),
311313 cwd = self .ctx .toplevel ,
312314 --- @type Job
313315 on_exit = async .void (function (j )
@@ -342,7 +344,7 @@ VCSAdapter.show = async.wrap(function(self, args, callback)
342344 -- silently.
343345 -- Solution: queue them and run them one after another.
344346 vcs_utils .queue_sync_job (job )
345- end , 3 )
347+ end , 4 )
346348
347349--- Convert revs to string representation.
348350--- @param left Rev
0 commit comments