We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
dvc remove CLI documentation inconsistency
`dvc remove` (without `targets`) prints help which states that `targets` are optional, and if not specified will remove all DVC-files. Clearly not the case.

```bash
$ dvc remove
[...]
  targets        DVC-files to remove. Optional. (Finds all DVC-files in the
                 workspace by default.)
```

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `dvc/command/remove.py`
Content:
```
1 from __future__ import unicode_literals
2 
3 import argparse
4 import logging
5 
6 import dvc.prompt as prompt
7 from dvc.exceptions import DvcException
8 from dvc.command.base import CmdBase, append_doc_link
9 
10 
11 logger = logging.getLogger(__name__)
12 
13 
14 class CmdRemove(CmdBase):
15     def _is_outs_only(self, target):
16         if not self.args.purge:
17             return True
18 
19         if self.args.force:
20             return False
21 
22         msg = "Are you sure you want to remove {} with its outputs?".format(
23             target
24         )
25 
26         if prompt.confirm(msg):
27             return False
28 
29         raise DvcException(
30             "Cannot purge without a confirmation from the user."
31             " Use '-f' to force."
32         )
33 
34     def run(self):
35         for target in self.args.targets:
36             try:
37                 outs_only = self._is_outs_only(target)
38                 self.repo.remove(target, outs_only=outs_only)
39             except DvcException:
40                 logger.exception("failed to remove {}".format(target))
41                 return 1
42         return 0
43 
44 
45 def add_parser(subparsers, parent_parser):
46     REMOVE_HELP = "Remove DVC-file outputs."
47     remove_parser = subparsers.add_parser(
48         "remove",
49         parents=[parent_parser],
50         description=append_doc_link(REMOVE_HELP, "remove"),
51         help=REMOVE_HELP,
52         formatter_class=argparse.RawDescriptionHelpFormatter,
53     )
54     remove_parser_group = remove_parser.add_mutually_exclusive_group()
55     remove_parser_group.add_argument(
56         "-o",
57         "--outs",
58         action="store_true",
59         default=True,
60         help="Only remove DVC-file outputs. (Default)",
61     )
62     remove_parser_group.add_argument(
63         "-p",
64         "--purge",
65         action="store_true",
66         default=False,
67         help="Remove DVC-file and all its outputs.",
68     )
69     remove_parser.add_argument(
70         "-f",
71         "--force",
72         action="store_true",
73         default=False,
74         help="Force purge.",
75     )
76     remove_parser.add_argument(
77         "targets",
78         nargs="+",
79         help="DVC-files to remove. Optional. "
80         "(Finds all DVC-files in the workspace by default.)",
81     )
82     remove_parser.set_defaults(func=CmdRemove)
83
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/dvc/command/remove.py b/dvc/command/remove.py
--- a/dvc/command/remove.py
+++ b/dvc/command/remove.py
@@ -74,9 +74,6 @@
         help="Force purge.",
     )
     remove_parser.add_argument(
-        "targets",
-        nargs="+",
-        help="DVC-files to remove. Optional. "
-        "(Finds all DVC-files in the workspace by default.)",
+        "targets", nargs="+", help="DVC-files to remove."
     )
     remove_parser.set_defaults(func=CmdRemove)

{"golden_diff": "diff --git a/dvc/command/remove.py b/dvc/command/remove.py\n--- a/dvc/command/remove.py\n+++ b/dvc/command/remove.py\n@@ -74,9 +74,6 @@\n         help=\"Force purge.\",\n     )\n     remove_parser.add_argument(\n-        \"targets\",\n-        nargs=\"+\",\n-        help=\"DVC-files to remove. Optional. \"\n-        \"(Finds all DVC-files in the workspace by default.)\",\n+        \"targets\", nargs=\"+\", help=\"DVC-files to remove.\"\n     )\n     remove_parser.set_defaults(func=CmdRemove)\n", "issue": "dvc remove CLI documentation inconsistency\n`dvc remove` (without `targets`) prints help which states that `targets` are optional, and if not specified will remove all DVC-files. Clearly not the case.\r\n\r\n```bash\r\n$ dvc remove\r\n[...]\r\n  targets        DVC-files to remove. Optional. (Finds all DVC-files in the\r\n                 workspace by default.)\r\n```\n", "before_files": [{"content": "from __future__ import unicode_literals\n\nimport argparse\nimport logging\n\nimport dvc.prompt as prompt\nfrom dvc.exceptions import DvcException\nfrom dvc.command.base import CmdBase, append_doc_link\n\n\nlogger = logging.getLogger(__name__)\n\n\nclass CmdRemove(CmdBase):\n    def _is_outs_only(self, target):\n        if not self.args.purge:\n            return True\n\n        if self.args.force:\n            return False\n\n        msg = \"Are you sure you want to remove {} with its outputs?\".format(\n            target\n        )\n\n        if prompt.confirm(msg):\n            return False\n\n        raise DvcException(\n            \"Cannot purge without a confirmation from the user.\"\n            \" Use '-f' to force.\"\n        )\n\n    def run(self):\n        for target in self.args.targets:\n            try:\n                outs_only = self._is_outs_only(target)\n                self.repo.remove(target, outs_only=outs_only)\n            except DvcException:\n                logger.exception(\"failed to remove {}\".format(target))\n                return 1\n        return 0\n\n\ndef add_parser(subparsers, parent_parser):\n    REMOVE_HELP = \"Remove DVC-file outputs.\"\n    remove_parser = subparsers.add_parser(\n        \"remove\",\n        parents=[parent_parser],\n        description=append_doc_link(REMOVE_HELP, \"remove\"),\n        help=REMOVE_HELP,\n        formatter_class=argparse.RawDescriptionHelpFormatter,\n    )\n    remove_parser_group = remove_parser.add_mutually_exclusive_group()\n    remove_parser_group.add_argument(\n        \"-o\",\n        \"--outs\",\n        action=\"store_true\",\n        default=True,\n        help=\"Only remove DVC-file outputs. (Default)\",\n    )\n    remove_parser_group.add_argument(\n        \"-p\",\n        \"--purge\",\n        action=\"store_true\",\n        default=False,\n        help=\"Remove DVC-file and all its outputs.\",\n    )\n    remove_parser.add_argument(\n        \"-f\",\n        \"--force\",\n        action=\"store_true\",\n        default=False,\n        help=\"Force purge.\",\n    )\n    remove_parser.add_argument(\n        \"targets\",\n        nargs=\"+\",\n        help=\"DVC-files to remove. Optional. \"\n        \"(Finds all DVC-files in the workspace by default.)\",\n    )\n    remove_parser.set_defaults(func=CmdRemove)\n", "path": "dvc/command/remove.py"}], "after_files": [{"content": "from __future__ import unicode_literals\n\nimport argparse\nimport logging\n\nimport dvc.prompt as prompt\nfrom dvc.exceptions import DvcException\nfrom dvc.command.base import CmdBase, append_doc_link\n\n\nlogger = logging.getLogger(__name__)\n\n\nclass CmdRemove(CmdBase):\n    def _is_outs_only(self, target):\n        if not self.args.purge:\n            return True\n\n        if self.args.force:\n            return False\n\n        msg = \"Are you sure you want to remove {} with its outputs?\".format(\n            target\n        )\n\n        if prompt.confirm(msg):\n            return False\n\n        raise DvcException(\n            \"Cannot purge without a confirmation from the user.\"\n            \" Use '-f' to force.\"\n        )\n\n    def run(self):\n        for target in self.args.targets:\n            try:\n                outs_only = self._is_outs_only(target)\n                self.repo.remove(target, outs_only=outs_only)\n            except DvcException:\n                logger.exception(\"failed to remove {}\".format(target))\n                return 1\n        return 0\n\n\ndef add_parser(subparsers, parent_parser):\n    REMOVE_HELP = \"Remove DVC-file outputs.\"\n    remove_parser = subparsers.add_parser(\n        \"remove\",\n        parents=[parent_parser],\n        description=append_doc_link(REMOVE_HELP, \"remove\"),\n        help=REMOVE_HELP,\n        formatter_class=argparse.RawDescriptionHelpFormatter,\n    )\n    remove_parser_group = remove_parser.add_mutually_exclusive_group()\n    remove_parser_group.add_argument(\n        \"-o\",\n        \"--outs\",\n        action=\"store_true\",\n        default=True,\n        help=\"Only remove DVC-file outputs. (Default)\",\n    )\n    remove_parser_group.add_argument(\n        \"-p\",\n        \"--purge\",\n        action=\"store_true\",\n        default=False,\n        help=\"Remove DVC-file and all its outputs.\",\n    )\n    remove_parser.add_argument(\n        \"-f\",\n        \"--force\",\n        action=\"store_true\",\n        default=False,\n        help=\"Force purge.\",\n    )\n    remove_parser.add_argument(\n        \"targets\", nargs=\"+\", help=\"DVC-files to remove.\"\n    )\n    remove_parser.set_defaults(func=CmdRemove)\n", "path": "dvc/command/remove.py"}]}