aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc_src/funced.txt7
-rw-r--r--share/functions/funced.fish12
2 files changed, 9 insertions, 10 deletions
diff --git a/doc_src/funced.txt b/doc_src/funced.txt
index 1d6daf66..46594de7 100644
--- a/doc_src/funced.txt
+++ b/doc_src/funced.txt
@@ -1,13 +1,14 @@
\section funced funced - edit a function interactively
\subsection funced-synopsis Synopsis
- <code>funced [-e editor] NAME</code>
+ <code>funced [OPTIONS] NAME</code>
\subsection funced-description Description
-Use the funced command to interactively edit the definition of a
-function. If there is no function with the name specified, a skeleton function is inserted, if a function exist, the definion will be shown in your editor or on the command line.
+Use the funced command to edit the definition of a
+function. If there is no function with the name specified, a skeleton function is inserted, if a function exist, the definition will be shown in your editor or on the command line.
By default, funced edits functions using the text editor in your $EDITOR variable, if set; otherwise it uses the built-in editor.
- <code>-e command</code> or <code>--editor command</code> Open the function body inside the text editor given by the command (for example, "vi"). The command 'fish' will use the built-in editor.
+- <code>-i</code> or <code>--interactive</code> Open function body in built-in editor.
diff --git a/share/functions/funced.fish b/share/functions/funced.fish
index ad56dab0..cc9db224 100644
--- a/share/functions/funced.fish
+++ b/share/functions/funced.fish
@@ -47,7 +47,11 @@ function funced --description 'Edit function definition'
set init function $funcname\n\nend
end
- if begin; test "$editor" = fish; or set -q interactive[1]; end
+ if not type -f "$editor" >/dev/null
+ set interactive 1
+ end
+
+ if begin; set -q interactive[1]; or test "$editor" = fish; end
set -l IFS
if functions -q -- $funcname
# Shadow IFS here to avoid array splitting in command substitution
@@ -65,12 +69,6 @@ function funced --description 'Edit function definition'
return 0
end
- if not type -f "$editor" >/dev/null
- set_color red
- printf (_ "%s: Editor %s is not found\n") funced $editor
- set_color normal
- end
-
set -q TMPDIR; or set -l TMPDIR /tmp
set -l tmpname (printf "$TMPDIR/fish_funced_%d_%d.fish" %self (random))
while test -f $tmpname