diff options
| author | Todd Leonhardt <todd.leonhardt@gmail.com> | 2017-08-21 12:50:22 -0400 |
|---|---|---|
| committer | Todd Leonhardt <todd.leonhardt@gmail.com> | 2017-08-21 12:50:22 -0400 |
| commit | ce40bc4dd8484c2de9eb32671df515b0d567dd4f (patch) | |
| tree | afd7b32d575f164c5f24081b7dc79df14a12852d /cmd2.py | |
| parent | eae9157b711f333bb2895ca2b92019d7463bca8b (diff) | |
| download | cmd2-git-ce40bc4dd8484c2de9eb32671df515b0d567dd4f.tar.gz | |
Converted edit command to an @options command for the better argument parsing related to spaces and quotes
The recent change of edit to allow spaces means that it can benefit from the better argument parsing cmd2 has for commands implemented using the @options decorator.
Diffstat (limited to 'cmd2.py')
| -rwxr-xr-x | cmd2.py | 19 |
1 files changed, 9 insertions, 10 deletions
@@ -1589,13 +1589,11 @@ Paths or arguments that contain spaces must be enclosed in quotes except IndexError: return None - def do_edit(self, arg): - """Edit a file or command in a text editor. - - Usage: edit [N]|[file_path] - + @options([], arg_desc="""[N]|[file_path] * N - Number of command (from history), or `*` for all commands in history (default: last command) - * file_path - path to a file to open in editor + * file_path - path to a file to open in editor""") + def do_edit(self, arg, opts=None): + """Edit a file or command in a text editor. The editor used is determined by the ``editor`` settable parameter. "set editor (program-name)" to change or set the EDITOR environment variable. @@ -1605,15 +1603,16 @@ If neither is supplied, the most recent command in the history is edited. Edited commands are always run after the editor is closed. -Edited files are run on close if the ``autorun_on_edit`` settable parameter is True.""" +Edited files are run on close if the ``autorun_on_edit`` settable parameter is True. +""" if not self.editor: raise EnvironmentError("Please use 'set editor' to specify your text editing program of choice.") filename = None - if arg: + if arg and arg[0]: try: - history_item = self._last_matching(int(arg)) + history_item = self._last_matching(int(arg[0])) except ValueError: - filename = arg + filename = arg[0] history_item = '' else: try: |
