Commit Graph

4302 Commits

Author SHA1 Message Date
ridiculousfish
06400b83b1 Support for command wrapping ("aliases")
Add the --wraps option to 'complete' and 'function'. This allows a
command to (recursively) inherit the completions of a wrapped command.
Fixes #393.

When evaluating a completion, we inspect the entire "wrap chain" for a
command, i.e. we follow the sequence of wrapping until we either hit a
loop (which we silently ignore) or the end of the chain. We then
evaluate completions as if the wrapping command were substituted with
the wrapped command. Currently this only works for commands, i.e.
'complete --command gco --wraps git\ checkout' won't work (that would
seem to encroaching on abbreviations anyways). It might be useful to
show an error message for that case.

The commandline builtin reflects the commandline with the wrapped
command substituted in, so e.g. git completions (which inspect the
command line) will just work. This sort of command line munging is
also performed by 'complete -C' so it's not totally without precedent.

'alias will also now mark its generated function as wrapping the
'target.
2014-08-15 18:14:36 -07:00
ridiculousfish
fe68d30be9 Use sgrep instead of grep in ssh completion 2014-08-13 01:06:15 -07:00
ridiculousfish
a3a11c2e0c Strip users with leading underscores from ssh completions 2014-08-12 14:46:59 -07:00
ridiculousfish
3f526698ab Make __fish_print_users work on OS X via dscl 2014-08-12 14:42:49 -07:00
Andy Lutomirski
78e2b7cc08 webconfig: Use a constant-time token comparison
This prevents a linear-time attack to recover the auth token.
2014-08-11 18:04:03 -07:00
ridiculousfish
6ce74febc7 Accepting an autosuggestion should clear the pager 2014-08-11 10:17:41 -07:00
ridiculousfish
ede3d422a0 Don't show "and 1 more rows" in pager if that requires a row 2014-08-11 09:55:07 -07:00
Mark Griffiths
629a39b45b Tutorial auto colouring, Man page and Make fixes
Completely fixes #1557 and the underlying Doxygen changes that caused
it. Should make fish docs simpler and more robust, more consistent and
generally prettier.

todo:
- trap unmarked text as arguments in context
- test & fix sed portability - see in particular. (so far tested on BSD
(Mac) and GNU sed).
- test Makefile changes
- last round of aesthetic changes and getting that ascii fish in there…
2014-08-08 03:44:37 +01:00
David Adam
397249a8d5 Authenticate connections to web_config service
- Require all requests to use a session path.
 - Use a redirect file to avoid exposing the URL on the command line, as
   it contains the session path.

Fix for CVE-2014-2914.
Closes #1438.
2014-08-07 16:14:42 +08:00
David Adam
b44b624ca5 Documented Alt-Right to accept a single word of an autosuggestion
See https://github.com/fish-shell/fish-shell/issues/1262
2014-08-06 22:00:13 +08:00
Mark Griffiths
6513c7eab8 Updated build_doc…sh to run cleanly in Xcode build
If the lexicon input filter isn't specified (as is the case in the
current Xcode project, the script quietly continues without it.
2014-08-05 19:28:03 +01:00
Mark Griffiths
276d90a45d Update configure.ac and README for Doxygen 1.8 2014-08-05 18:46:14 +01:00
Mark Griffiths
c94b15a951 Revert 60b9f8d..e4d6eaf
This rolls back to commit 60b9f8db18.
2014-08-05 18:43:33 +01:00
Mark Griffiths
e4d6eaf17a Revert Xcode project
This reverts accidentally included files in commit
60b9f8db18.
2014-08-05 18:28:11 +01:00
Mark Griffiths
60b9f8db18 Update autoconf and README for Doxygen 1.8 2014-08-05 18:09:15 +01:00
Mark Griffiths
cff928e2dc Merge branch 'master' into documentation-update
Conflicts:
	doc_src/index.hdr.in -- UPDATED
	doc_src/license.hdr -- UPDATED
2014-08-05 13:50:21 +01:00
Mark Griffiths
6aa701b3ee Fix missed escaped '--' inside /fish block 2014-08-05 13:07:46 +01:00
ridiculousfish
cb480dddf6 Don't try to colorize errors when running in Xcode 2014-08-04 13:55:53 -07:00
ridiculousfish
33c714ca03 Add fish_tests target to Xcode build
Allows running the tests in Xcode
2014-08-04 13:32:23 -07:00
Gio d'Amelio
bcda3f1baa Set $CMD_DURATION to milliseconds. Fixes #1585 2014-08-04 13:36:39 +08:00
David Adam
4ae2753025 Authenticate connections to web_config service
- Require all requests to use a session path.
 - Use a redirect file to avoid exposing the '/start' URL on the
   command line, as it contains the cookie value.

Fix for CVE-2014-2914.
Closes #1438.
2014-08-04 13:34:26 +08:00
David Adam
b5cd21c337 Further fixes to universal variable server socket management
- Change fishd_path to std::string
- Warn, rather than exiting with an error, if the universal variable
  server path is not available, and provide more useful advice.
- Export the new __fishd_runtime_dir variable.
2014-08-04 13:26:14 +08:00
David Adam
8844f0c142 Clarify I/O redirection documentation
Fix the examples and try and improve the clarity of the section.

Closes #1409.
2014-08-03 18:54:10 +08:00
David Adam
4cb4fc3ef8 Fix for CVE-2014-2905 - fishd restart required.
- Use a secure path for sockets (some code used under license from
   tmux).
 - Provide the secure path in the environment as $__fish_runtime_dir.
 - Link the new path to the old path to ease migration from earlier
   versions.

Closes #1359.

After installing fish built from or after this commit, you MUST
terminate all running fishd processes (`killall fishd`, `pkill fishd`
or similar). Distributors are encouraged to do this from within their
packaging scripts. fishd will restart automatically, and no data should
be lost.
2014-08-03 17:00:14 +08:00
David Adam
6cabd42ed2 Remove getpeerid/getpeerucred and fallbacks 2014-08-03 15:40:44 +08:00
ridiculousfish
0daee33ad6 Document new fish_title behavior per #334 2014-08-03 00:00:26 -07:00
ridiculousfish
b97a94ccc8 Clean up reader_write_title to work with wcstring 2014-08-02 21:01:40 -07:00
Mark Griffiths
5cc3dcdbd8 Add lexicon filter to manpages.
Fixed manpage 'NAME'. Under Doxygen 1.8, the output format has
changed, so the old sed script was leaving man pages with two titles.
2014-08-03 02:25:47 +01:00
Mark Griffiths
7e3382340e Lexicon filter: fix 'if' and 'for' special cases 2014-08-03 02:22:23 +01:00
jianjun
87abcecca6 add command line string as $argv[1] for fish_title 2014-08-02 12:57:38 -07:00
Mark Griffiths
8ca88f14f7 Style fix for sub-line comments 2014-08-02 17:11:00 +01:00
Mark Griffiths
b4a4a7c611 Fixes lexicon filter pipes '|" 2014-08-02 17:10:28 +01:00
Kevin Stone
556680cf5e Update grunt.fish
Fixed command error when no local Gruntfile results in a command error.

Fixes #1592.
2014-08-02 00:04:26 -07:00
Mark Griffiths
f4077bd41f Merged in latest changes to docs and formatting tweaks
Addresses issue #1557 as well as fixing many typos, HTML errors and
inconsistencies. Also introduces automatic syntax colouring and enables
new documentation to be written in Markdown. TODO fix Tutorial.
2014-08-02 04:51:43 +01:00
Mark Griffiths
cb5c560688 Simplify styling 2014-08-01 13:25:41 +01:00
Mark Griffiths
8ac0fdfea7 Merge branch 'master' into documentation-update
Conflicts:
	doc_src/history.txt
	doc_src/test.txt
2014-08-01 05:16:02 +01:00
Mark Griffiths
6dfd71670a Removed dupes from gitignore 2014-08-01 04:21:04 +01:00
Mark Griffiths
4d4cc34aff Added some clutter
Subllime and a few temporary files.
2014-08-01 04:11:28 +01:00
Mark Griffiths
c070a2aa3e Documentation update
Rework for Doxygen >1.8. Moved large parts of the documentation to a
simplified format, making use of Markdown enhancements and fixing bad
long options.
2014-08-01 03:37:32 +01:00
David Adam
af14cf8f8b Revert "Check effective credentials of socket peers"
This reverts commit 8412c867a5.

Just checking the credentials of the peer turns out to be insufficient.
See https://github.com/fish-shell/fish-shell/issues/1436.
2014-07-31 16:57:42 +08:00
ridiculousfish
35ba97cbdf Fix up OSC / iTerm2 escape code parsing as part of #1565 2014-07-30 11:35:39 -07:00
George Nachman
9f59cf1468 Parse OSC codes in escape_code_length(). They begin with <esc> ] and are terminated with ST (<esc> backslash) or BEL (ASCII 7). 2014-07-30 11:35:39 -07:00
Konrad Borowski
6c80a3461c
Add support for toor account.
Currently fish doesn't recognize toor as special. However, it's likely
that on BSD systems, fish shell will be used on toor, not on root (toor
is an intentionally existing account to use more advanced shell on, like
shell).
2014-07-30 11:55:47 +02:00
phette23
5591afff6e add completions for Node.js & NPM 2014-07-29 18:35:08 -07:00
ridiculousfish
8144725739 Fix bad example in docs for test -n $MANPATH
Fixes #1574
2014-07-29 14:44:51 -07:00
ridiculousfish
52ae5f885e Improve history robustness against corrupt files
Fixes #1581
2014-07-29 14:42:03 -07:00
ridiculousfish
b6658c5497 Render sample prompts faster in fish_config by using a thread pool 2014-07-29 12:12:32 -07:00
ridiculousfish
aad5163b49 Make prompt selection more like color selection in fish_config. Remove
the "show prompt source" button.
2014-07-29 11:00:39 -07:00
David Xia
6d18bf5cd4 Fix umask function regex
Some grep implementations complain of empty subexpression

fixes #1313
2014-07-29 01:43:18 -04:00
David Xia
adabc2d7a0 Fix fish_config error with python3
Closes #1253.
2014-07-28 22:02:55 +08:00