aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* A little extra tweaking so builtin_print_help looks betterGravatar Kevin Ballard2014-10-10
| | | | | | | The terminal width magic that __fish_print_help learned doesn't help when builtin_print_help runs it in a subshell. Instead, add an undocumented --tty-width flag to __fish_print_help that's used to pass the terminal width.
* Rewrite __fish_print_help to produce better resultsGravatar Kevin Ballard2014-10-09
| | | | | | | | | | | | As a result of this rewrite, the output now: * Expands to fit the terminal width, like `man` does * Preprocesses the manpage with `tbl` just in case, since `man` does this, even though I doubt any fish manpages use `tbl` formatting. * Handle bold/underline with the `ul` command as it was designed for instead of trying to fake it with `sed`. * Compresses blank lines as `man` does with the default `less -is` pager.
* web_config: Interpret fish output as utf-8Gravatar Kevin Ballard2014-10-09
| | | | Use the unicode replacement character in place of non-utf-8 sequences.
* fish_config: Log the path for errorsGravatar Kevin Ballard2014-10-09
|
* Support -h/--help with `eval`Gravatar Kevin Ballard2014-10-09
| | | | | | `eval` prints help if given a single argument of -h or --help. Fixes #1379.
* Revert "Remove help completion for eval, which doesn't work"Gravatar Kevin Ballard2014-10-09
| | | | This reverts commit d2f23e1df45f07fb4d716b07c40de7381e539b9d.
* web_config: send correct MIME type (and actually send it)Gravatar David Adam2014-10-09
|
* Remove help completion for eval, which doesn't workGravatar ridiculousfish2014-10-08
| | | | Fixes #1379
* Raise debug level to 2 on annoying Changing language to English messageGravatar ridiculousfish2014-10-08
| | | | Fixes #1386
* Fix test breakage from 14724401fGravatar Kevin Ballard2014-10-07
| | | | | | | | We can't use $PATHS to test the :-splitting because the global config file adds extra paths based on /etc/paths and /etc/paths.d. Ideally fish would have a way to suppress behavior like that, but for the time being it doesn't.
* Rewrite `abbr` functionGravatar Kevin Ballard2014-10-07
| | | | | | | | | | | | The usage is still the same, but it's a lot more robust, and also no longer assumes $fish_user_abbreviations must be a universal variable. This also fixes the unexpected error output when calling `abbr -a` with no existing abbreviations. Calling `abbr -a` with an abbreviation that already exists now silently overwrites the abbreviation, just like `function` and `bind` do, instead of complaining.
* env.cpp: correctly check variable_can_be_arrayGravatar David Adam2014-10-08
| | | | Closes #1746.
* Fix typo in abbr documentationGravatar Kevin Ballard2014-10-07
| | | | [skip ci]
* web_config: fix output if no abbreviations definedGravatar David Adam2014-10-07
|
* Rebuild fish.pc as appropriateGravatar Kevin Ballard2014-10-06
| | | | | | | | | | Re-running ./configure will cause fish.pc to rebuild, in case any of the paths changed. It looks like this actually won't rebuild the rest of fish, but figuring out how to handle that is out of scope for this commit. More importantly, this will rebuild fish.pc when the version string changes.
* license.hdr: reduce duplication and clarify some commentsGravatar David Adam2014-10-06
| | | | [skip ci]
* license.hdr: remove licensing information for XSel, no longer shippedGravatar David Adam2014-10-06
| | | | [skip ci]
* Don't complain if no errors occurred due to cancellationGravatar ridiculousfish2014-10-06
| | | | Fixes #1166
* set: warn on setting a universal variable when a global is activeGravatar David Adam2014-10-06
| | | | Closes #806.
* Clean up string handling in parse_util_detect_errors_in_argumentGravatar ridiculousfish2014-10-05
|
* web_config: add support for viewing abbreviationsGravatar David Adam2014-10-05
| | | | | | | Add a new tab which lists the current abbreviations defined, by wrapping the `abbr` command. Work on #731.
* web_config: set width to dynamic 80% of windowGravatar David Adam2014-10-05
| | | | | As we add more tabs, 800px looks increasingly cramped, and our config should take advantage of the screen space available.
* abbr.fish: add abbr, a command to manipulate abbreviationsGravatar David Adam2014-10-05
| | | | Work on #731.
* web_config: update AngularJS to 1.0.8Gravatar David Adam2014-10-05
|
* Use ferror instead of checking errno to detect errors in read_fileGravatar ridiculousfish2014-10-04
| | | | | glibc sets errno even though the file read did not have an error Fixes #1731
* Fix Perl module completions.Gravatar Konrad Borowski2014-10-04
| | | | | | This fixes the issue with nonexistant directories (some Linux distributions put these for local modules), and also fixes the issue of dot meaning any character instead of simply dot.
* add yast2 completionGravatar Roman Inflianskas2014-10-04
|
* Prevent STDERR leak from abook detection in mutt completionGravatar Jon Gjengset2014-10-03
| | | Fixes #1737
* Clean up prompt_pwd with the new function -V flagGravatar Kevin Ballard2014-10-02
| | | | Also fixes `cd /private` displaying as no path on OS X.
* Update psub for the new --inherit-variable flagGravatar Kevin Ballard2014-10-02
| | | | | Also do some minor formatting cleanup, make psub return 1 when executed outside of a command substitution, and make it respect $TMPDIR.
* Add new `functions` flag -V/--inherit-variableGravatar Kevin Ballard2014-10-02
| | | | | | | | | | --inherit-variable takes a variable name and snapshots its current value. When the function is executed, it will have a local variable with this value already defined. Printing the function source will include synthesized `set -l` lines for the values. This is primarily useful for functions that are created on the fly, such as in `psub`.
* Use ENV_USER with vars set via `function -a`Gravatar Kevin Ballard2014-10-02
| | | | | | | | ENV_USER is intended to be used when setting any variable whose name is controlled by the user. The names given to `function -a` certainly qualifies. This wasn't an issue in practice because the only restriction ENV_USER imposes is also imposed on ENV_LOCAL, but the rules may change in the future.
* # This is a combination of 2 commits.Gravatar Kevin Ballard2014-10-02
| | | | | | | | | | # The first commit's message is: Simplify default fish_prompt No need for the set_color caching now that it's a builtin. Also simplify the 3 classic prompts in fish_config's sample_prompts set.
* Rewrite fishscript testrunner for better outputGravatar Kevin Ballard2014-10-02
| | | | | Update the fishscript testrunner to use the same output style as the interactive testrunner.
* Minor tweaks to initial keybinding loadGravatar Kevin Ballard2014-10-02
| | | | | | | Remove comment that AFAICT is not true anymore. Ensure someone setting __fish_active_key_bindings as a universal variable doesn't screw up the initial keybinding load.
* Fix examples in `bind` documentationGravatar Kevin Ballard2014-10-01
|
* Tweak lexicon_filter.in for GNU sedGravatar Kevin Ballard2014-10-01
|
* Fix doc example for `echo`Gravatar Kevin Ballard2014-10-01
|
* Added fish_preexec and fish_postexec eventsGravatar Jan-Thorsten Peter2014-10-01
| | | | Fixes #1549.
* Find fishd file even when $HOME is unsetGravatar Kevin Ballard2014-10-01
| | | | | | | | | | env.cpp sets up $HOME based on the current user, if it's not inherited from the environment. fishd_get_config should be using the same calculated value of $HOME. To that end, move universal variable initialization to after $HOME is set up, and read the value from the fish environment instead of using getenv(). Fixes #1725.
* Export $HOME if we have to calculate itGravatar Kevin Ballard2014-10-01
| | | | | | | | If $HOME is unset in the environment, fish calculates it with getpwnam(). However, it wasn't being exported. Just like the $USER calculation, $HOME should probably be exported, because everyone will assume that it's an environment variable (as opposed to an unexported global variable).
* fish.pc: add pkgconfig file for fishGravatar David Adam2014-10-01
| | | | | | | | Assists other packages in finding the path to install completions: call `pkg-config --variable=completionsdir fish` or so (like bash-completion). As discussed in #1485.
* Create and use $DATADIR/vendor_completions.d/ for upstream completionsGravatar David Adam2014-10-01
| | | | Closes #1485.
* Base `status -b` off the parser execution stackGravatar Kevin Ballard2014-09-30
| | | | | | | | | | | Instead of globally marking the state as "in block" when evaluating blocks/functions, update the "in block" status when pushing/popping blocks on the parser stack. Fixes #1729. On a side note, `status -b` is actually pretty useless, because it always returns 0 inside of a function (even without this patch).
* Expunge INTERNAL_BLOCK from the codebaseGravatar Kevin Ballard2014-09-30
| | | | It's a relic of the old parser, and isn't used anymore.
* Don't leave is_block in bad state after bad redirectionGravatar Kevin Ballard2014-09-30
| | | | Fixes #1728.
* Teach the highlighter about multiple adjacent square bracket expansionsGravatar ridiculousfish2014-09-30
| | | | Fixes #1627
* Make false/true into builtinsGravatar Kevin Ballard2014-09-29
| | | | | | | Making `true` into a builtin is a significant optimization to `while true` loops. As long as `true` is a builtin, we may as well make `false` builtin as well (despite the fact that it's not typically executed in a loop).
* Fix to indent comments in blocks properly (#1710)Gravatar ridiculousfish2014-09-29
| | | | | | | | | | | | | | | | | | | | This makes two changes to parse trees: 1. Unmaterialized nodes no longer have an invalid source location For example, with the code `while false;end` there are no tokens associated with the while loop's job_list, and therefore it is unmaterialized. Previously it would have had a SOURCE_OFFSET_INVALID. But now it has a zero source length, but an offset equal to the end of the while loop (i.e. the semicolon), and a zero length. Correspondingly, the has_source function now checks the length instead of the offset. 2. Special (comment and error) nodes have always been "disconnected," meaning they are not the child of any other node. However, they now have their parent offsets set to whatever the top of the node stack was when the node was encountered. This gives us a sense of which node the comment is "in", e.g. if we are constructing a job list then the comment's parent will be the job list. This lets us determine the comment's indent.
* Manpage completions: store in $XDG_DATA_HOMEGravatar David Adam2014-09-29
| | | | Closes #1343, works towards #1257.