diff --git a/make_vcs_completions.fish b/make_vcs_completions.fish index 486d7de..25c6941 100755 --- a/make_vcs_completions.fish +++ b/make_vcs_completions.fish @@ -1,7 +1,8 @@ #!/usr/bin/env fish - # -# This file produces command specific completions for either hg or darcs +# This file produces command specific completions for hg, darcs and a +# few other vcs systems. It uses the fact that all these systems have a +# somewhat uniform command line help mechanism. # function cap @@ -14,7 +15,7 @@ end # function esc - echo $argv | sed -e "s/'/\\\'/g" | sed -e 's/ *$//' + echo $argv | sed -e "s/\(['\\\]\)/\\\\\1/g" | sed -e 's/ *$//' | sed -e 's/ .*//' end diff --git a/share/completions/svn.fish b/share/completions/svn.fish index 761c7bb..7abc329 100644 --- a/share/completions/svn.fish +++ b/share/completions/svn.fish @@ -27,13 +27,13 @@ complete -c svn -n '__fish_use_subcommand' -x -a commit --description 'Send chan complete -c svn -n '__fish_use_subcommand' -x -a ci --description 'Send changes from your working copy to the repository.' complete -c svn -n '__fish_use_subcommand' -x -a copy --description 'Duplicate something in working copy or repository, remembering history.' complete -c svn -n '__fish_use_subcommand' -x -a cp --description 'Duplicate something in working copy or repository, remembering history.' -complete -c svn -n '__fish_use_subcommand' -x -a delete --description 'Remove files and directories from version control. 2. delete URL...' -complete -c svn -n '__fish_use_subcommand' -x -a del --description 'Remove files and directories from version control. 2. delete URL...' -complete -c svn -n '__fish_use_subcommand' -x -a remove --description 'Remove files and directories from version control. 2. delete URL...' -complete -c svn -n '__fish_use_subcommand' -x -a rm --description 'Remove files and directories from version control. 2. delete URL...' -complete -c svn -n '__fish_use_subcommand' -x -a diff --description 'Display the differences between two revisions or paths. 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \' -complete -c svn -n '__fish_use_subcommand' -x -a di --description 'Display the differences between two revisions or paths. 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \' -complete -c svn -n '__fish_use_subcommand' -x -a export --description 'Create an unversioned copy of a tree. 2. export [-r REV] PATH1[@PEGREV] [PATH2]' +complete -c svn -n '__fish_use_subcommand' -x -a delete --description 'Remove files and directories from version control.' +complete -c svn -n '__fish_use_subcommand' -x -a del --description 'Remove files and directories from version control.' +complete -c svn -n '__fish_use_subcommand' -x -a remove --description 'Remove files and directories from version control.' +complete -c svn -n '__fish_use_subcommand' -x -a rm --description 'Remove files and directories from version control.' +complete -c svn -n '__fish_use_subcommand' -x -a diff --description 'Display the differences between two revisions or paths.' +complete -c svn -n '__fish_use_subcommand' -x -a di --description 'Display the differences between two revisions or paths.' +complete -c svn -n '__fish_use_subcommand' -x -a export --description 'Create an unversioned copy of a tree.' complete -c svn -n '__fish_use_subcommand' -x -a help --description 'Describe the usage of this program or its subcommands.' complete -c svn -n '__fish_use_subcommand' -x -a ? --description 'Describe the usage of this program or its subcommands.' complete -c svn -n '__fish_use_subcommand' -x -a h --description 'Describe the usage of this program or its subcommands.' @@ -42,35 +42,35 @@ complete -c svn -n '__fish_use_subcommand' -x -a info --description 'Display inf complete -c svn -n '__fish_use_subcommand' -x -a list --description 'List directory entries in the repository.' complete -c svn -n '__fish_use_subcommand' -x -a ls --description 'List directory entries in the repository.' complete -c svn -n '__fish_use_subcommand' -x -a lock --description 'Lock working copy paths or URLs in the repository, so that no other user can commit changes to them.' -complete -c svn -n '__fish_use_subcommand' -x -a log --description 'Show the log messages for a set of revision(s) and/or file(s). 2. log URL[@REV] [PATH...]' -complete -c svn -n '__fish_use_subcommand' -x -a merge --description 'Apply the differences between two sources to a working copy path. 2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]' -complete -c svn -n '__fish_use_subcommand' -x -a mkdir --description 'Create a new directory under version control. 2. mkdir URL...' +complete -c svn -n '__fish_use_subcommand' -x -a log --description 'Show the log messages for a set of revision(s) and/or file(s).' +complete -c svn -n '__fish_use_subcommand' -x -a merge --description 'Apply the differences between two sources to a working copy path.' +complete -c svn -n '__fish_use_subcommand' -x -a mkdir --description 'Create a new directory under version control.' complete -c svn -n '__fish_use_subcommand' -x -a move --description 'Move and/or rename something in working copy or repository.' complete -c svn -n '__fish_use_subcommand' -x -a mv --description 'Move and/or rename something in working copy or repository.' complete -c svn -n '__fish_use_subcommand' -x -a rename --description 'Move and/or rename something in working copy or repository.' complete -c svn -n '__fish_use_subcommand' -x -a ren --description 'Move and/or rename something in working copy or repository.' -complete -c svn -n '__fish_use_subcommand' -x -a propdel --description 'Remove a property from files, dirs, or revisions. 2. propdel PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pdel --description 'Remove a property from files, dirs, or revisions. 2. propdel PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pd --description 'Remove a property from files, dirs, or revisions. 2. propdel PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a propedit --description 'Edit a property with an external editor. 2. propedit PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pedit --description 'Edit a property with an external editor. 2. propedit PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pe --description 'Edit a property with an external editor. 2. propedit PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a propget --description 'Print the value of a property on files, dirs, or revisions. 2. propget PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pget --description 'Print the value of a property on files, dirs, or revisions. 2. propget PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pg --description 'Print the value of a property on files, dirs, or revisions. 2. propget PROPNAME --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a proplist --description 'List all properties on files, dirs, or revisions. 2. proplist --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a plist --description 'List all properties on files, dirs, or revisions. 2. proplist --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pl --description 'List all properties on files, dirs, or revisions. 2. proplist --revprop -r REV [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a propset --description 'Set the value of a property on files, dirs, or revisions. 2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a pset --description 'Set the value of a property on files, dirs, or revisions. 2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]' -complete -c svn -n '__fish_use_subcommand' -x -a ps --description 'Set the value of a property on files, dirs, or revisions. 2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]' +complete -c svn -n '__fish_use_subcommand' -x -a propdel --description 'Remove a property from files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a pdel --description 'Remove a property from files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a pd --description 'Remove a property from files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a propedit --description 'Edit a property with an external editor.' +complete -c svn -n '__fish_use_subcommand' -x -a pedit --description 'Edit a property with an external editor.' +complete -c svn -n '__fish_use_subcommand' -x -a pe --description 'Edit a property with an external editor.' +complete -c svn -n '__fish_use_subcommand' -x -a propget --description 'Print the value of a property on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a pget --description 'Print the value of a property on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a pg --description 'Print the value of a property on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a proplist --description 'List all properties on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a plist --description 'List all properties on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a pl --description 'List all properties on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a propset --description 'Set the value of a property on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a pset --description 'Set the value of a property on files, dirs, or revisions.' +complete -c svn -n '__fish_use_subcommand' -x -a ps --description 'Set the value of a property on files, dirs, or revisions.' complete -c svn -n '__fish_use_subcommand' -x -a resolved --description 'Remove \'conflicted\' state on working copy files or directories.' complete -c svn -n '__fish_use_subcommand' -x -a revert --description 'Restore pristine working copy file (undo most local edits).' complete -c svn -n '__fish_use_subcommand' -x -a status --description 'Print the status of working copy files and directories.' complete -c svn -n '__fish_use_subcommand' -x -a stat --description 'Print the status of working copy files and directories.' complete -c svn -n '__fish_use_subcommand' -x -a st --description 'Print the status of working copy files and directories.' -complete -c svn -n '__fish_use_subcommand' -x -a switch --description 'Update the working copy to a different URL. 2. switch --relocate FROM TO [PATH...]' -complete -c svn -n '__fish_use_subcommand' -x -a sw --description 'Update the working copy to a different URL. 2. switch --relocate FROM TO [PATH...]' +complete -c svn -n '__fish_use_subcommand' -x -a switch --description 'Update the working copy to a different URL.' +complete -c svn -n '__fish_use_subcommand' -x -a sw --description 'Update the working copy to a different URL.' complete -c svn -n '__fish_use_subcommand' -x -a unlock --description 'Unlock working copy paths or URLs.' complete -c svn -n '__fish_use_subcommand' -x -a update --description 'Bring changes from the repository into the working copy.' complete -c svn -n '__fish_use_subcommand' -x -a up --description 'Bring changes from the repository into the working copy.'