Commit Graph

5040 Commits

Author SHA1 Message Date
ridiculousfish
ad8c7b9d0b Clarify string split implementation
Use some template magic to handle the forward and reverse
string split cases uniformly
2015-09-21 16:41:26 -07:00
ridiculousfish
7eb88ed7dc Take advantage of find_first_not_of and friends
Simplifies some of the logic in string_trim
2015-09-21 16:41:26 -07:00
ridiculousfish
6afd0d8add pcre2_strerror should use wcstring instead of static wchar_t 2015-09-21 16:41:26 -07:00
ridiculousfish
bfe142fef0 Use append_formatv in string_error 2015-09-21 16:41:26 -07:00
ridiculousfish
54e626f665 Fix some type conversion warnings in builtin_string
Also pass around a wcstring for storage, instead of using a static
2015-09-21 16:41:26 -07:00
ridiculousfish
f296471726 Integrate pcre2 into Xcode build 2015-09-21 16:41:25 -07:00
ridiculousfish
b2e8967e94 Migrate builtin_string.cpp to its own object file
This keeps the architecture a little less surprising
2015-09-21 16:41:25 -07:00
Michael Steed
d83ef07ca7 Merge new string builtin
This adds the new builtin 'string' which supports various string
manipulation and matching algorithms, including PCRE based regular
expressions.

Fixes #2296

Squashed commit of the following:

commit 4c3eaeb6e57d76463e9683c327142b0aeafb92b8
Author: ridiculousfish <corydoras@ridiculousfish.com>
Date:   Sat Sep 12 12:51:30 2015 -0700

    Remove testdata and doc dirs from pcre2 source

commit b2a8b4b50f2398b204fb72cfe4b5ba77ece2e1ab
Merge: 11c8a47 7974aab
Author: ridiculousfish <corydoras@ridiculousfish.com>
Date:   Sat Sep 12 12:32:40 2015 -0700

    Merge branch 'string' of git://github.com/msteed/fish-shell into string-test

commit 7974aab6d3
Author: Michael Steed <msteed@saltstack.com>
Date:   Fri Sep 11 13:00:02 2015 -0600

    build pcre2 lib only, no docs

commit eb20b43d2d
Merge: 1a09e70 5f519cb
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Sep 10 20:00:47 2015 -0600

    Merge branch 'string' of github.com:msteed/fish-shell into string

commit 1a09e709d0
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Sep 10 19:58:24 2015 -0600

    rebase on master & address the fallout

commit a0ec9772cd
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Sep 10 19:26:45 2015 -0600

    use fish's wildcard_match() for glob matching

commit 64c25a01e3
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Aug 27 08:19:23 2015 -0600

    some fixes from review

    - string_get_arg_stdin(): simplify and don't discard the argument when
      the trailing newline is absent
    - fix calls to pcre2 for e.g. string match -r -a 'a*' 'b'
    - correct test for args coming from stdin

commit ece7f35ec5
Author: Michael Steed <msteed68@gmail.com>
Date:   Sat Aug 22 19:35:56 2015 -0600

    fixes from review

    - Makefile.in: restore iwyu target
    - regex_replacer_t::replace_matches(): correct size passed to realloc()

commit 9ff7477a92
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Aug 20 13:08:33 2015 -0600

    Minor doc improvements

commit baf4e096b2
Author: Michael Steed <msteed68@gmail.com>
Date:   Wed Aug 19 18:29:02 2015 -0600

    another attempt to fix the ci build

commit 896a2c2b27
Author: Michael Steed <msteed68@gmail.com>
Date:   Wed Aug 19 18:03:49 2015 -0600

    Updates after review comments

    - make match/replace without -a operate on the first match on each
      argument
    - use different exit codes for "no operation performed" and errors, as
      grep does
    - refactor regex compile code
    - use human-friendly error messages from pcre2
    - improve error handling & reporting elsewhere
    - add a few tests
    - make some doc fixes
    - some simplification & cleanup
    - fix ci build failure (I hope)

commit efd47dcbda
Author: Michael Steed <msteed68@gmail.com>
Date:   Wed Aug 12 00:26:07 2015 -0600

    fix dependencies for parallel make

commit ed0850e2db
Author: Michael Steed <msteed68@gmail.com>
Date:   Tue Aug 11 23:37:22 2015 -0600

    Add missing pcre2 files + .gitignore

commit 9492e7a7e9
Author: Michael Steed <msteed68@gmail.com>
Date:   Tue Aug 11 22:44:05 2015 -0600

    add pcre2-10.20 and update license.hdr

commit 1a60b93371
Author: Michael Steed <msteed68@gmail.com>
Date:   Tue Aug 11 22:41:19 2015 -0600

    add string builtin files

    - string builtin source, tests, & docs
    - changes to configure.ac & Makefile.in

commit 5f519cb2a2
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Sep 10 19:26:45 2015 -0600

    use fish's wildcard_match() for glob matching

commit 2ecd24f795
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Aug 27 08:19:23 2015 -0600

    some fixes from review

    - string_get_arg_stdin(): simplify and don't discard the argument when
      the trailing newline is absent
    - fix calls to pcre2 for e.g. string match -r -a 'a*' 'b'
    - correct test for args coming from stdin

commit 45b777e4dc
Author: Michael Steed <msteed68@gmail.com>
Date:   Sat Aug 22 19:35:56 2015 -0600

    fixes from review

    - Makefile.in: restore iwyu target
    - regex_replacer_t::replace_matches(): correct size passed to realloc()

commit 981cbb6ddf
Author: Michael Steed <msteed68@gmail.com>
Date:   Thu Aug 20 13:08:33 2015 -0600

    Minor doc improvements

commit ddb6a2a8fd
Author: Michael Steed <msteed68@gmail.com>
Date:   Wed Aug 19 18:29:02 2015 -0600

    another attempt to fix the ci build

commit 1e34e3191b
Author: Michael Steed <msteed68@gmail.com>
Date:   Wed Aug 19 18:03:49 2015 -0600

    Updates after review comments

    - make match/replace without -a operate on the first match on each
      argument
    - use different exit codes for "no operation performed" and errors, as
      grep does
    - refactor regex compile code
    - use human-friendly error messages from pcre2
    - improve error handling & reporting elsewhere
    - add a few tests
    - make some doc fixes
    - some simplification & cleanup
    - fix ci build failure (I hope)

commit 34232e152d
Author: Michael Steed <msteed68@gmail.com>
Date:   Wed Aug 12 00:26:07 2015 -0600

    fix dependencies for parallel make

commit 00d7e78169
Author: Michael Steed <msteed68@gmail.com>
Date:   Tue Aug 11 23:37:22 2015 -0600

    Add missing pcre2 files + .gitignore

commit 4498aa5f57
Author: Michael Steed <msteed68@gmail.com>
Date:   Tue Aug 11 22:44:05 2015 -0600

    add pcre2-10.20 and update license.hdr

commit 290c58c72e
Author: Michael Steed <msteed68@gmail.com>
Date:   Tue Aug 11 22:41:19 2015 -0600

    add string builtin files

    - string builtin source, tests, & docs
    - changes to configure.ac & Makefile.in
2015-09-21 16:41:25 -07:00
Fabian Homborg
e70ed961ea Document set_color resetting both for "normal"
Fixes #1658
2015-09-20 17:27:17 +02:00
Fabian Homborg
7216e36cb1 Document that only variable expansion occurs in ""
Fixes #925
2015-09-20 15:31:41 +02:00
Fabian Homborg
10a60b6ec2 Document cd -
Fixes #1946
2015-09-20 15:25:13 +02:00
Johannes Schneider
054fb22854 Maven completion added 2015-09-19 22:27:04 +02:00
Fabian Homborg
b34127e346 __fish_print_{addresses,interaces}: Better OSX/BSD 2015-09-18 12:00:12 +02:00
Fabian Homborg
be70ea7d49 Add completion for Arch's mkinitcpio 2015-09-17 18:23:37 +02:00
Fabian Homborg
1ef178c5e6 Add alsactl completions 2015-09-17 18:20:23 +02:00
Fabian Homborg
56399b9aa3 systemctl completions: Show instanced services
This unfortunately requires us to do two systemctl calls, but it's still
pretty fast.
2015-09-17 18:16:56 +02:00
Fabian Homborg
a79c7495c8 busctl completions: Fix usermode
Block-scope strikes again!
2015-09-17 18:12:00 +02:00
Fabian Homborg
b13ee9da2a docs: Rename cross to cartesian product, clarify 2015-09-17 14:17:52 +02:00
Fabian Homborg
f86ee20579 systemctl completions: Support systemd in /lib
Debian has not merged /usr/lib and /lib, so they install the `systemd`
binary at /lib/systemd/systemd.

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790671
2015-09-16 23:18:04 +02:00
Fabian Homborg
f7e8f8031d __fish_print_{addresses,interfaces}: Add alternative to net_tools
net_tools, which provides `ifconfig` and `netstat`, among other things,
has last been updated in 2013. This means `ifconfig` on linux is
basically dead.

Instead of ifconfig, use `ip` (from iproute2), which is much more powerful and
provides a much more annoying commandline syntax.

Instead of netstat, just look at /sys/class/net.
2015-09-16 23:01:27 +02:00
Dan Underwood
18a116394d Complete atom package manager or apmd
Completions for `apm` now support both the Advanced Power Management client and the Atom text editor.
2015-09-16 15:54:42 +01:00
Konrad Borowski
094948db51 Fix issue with pkg --jail=value completion 2015-09-16 13:58:48 +02:00
Konrad Borowski
18c7e97ecc Add pkgng command completions
Fixes #1054.
2015-09-16 13:57:36 +02:00
Fabian Homborg
c8ac48ff9a Informative git prompt: Handle root/toor users
Fixes #961

This should probably be in a helper function
2015-09-15 21:14:49 +02:00
ridiculousfish
fa4ec55c96 Fix process expansion on OS X
Puts back sys/sysctl.h header, so we know to use BSD style process
expansion
2015-09-15 11:40:20 -07:00
Fabian Homborg
a02d4dc27c Document cross-product
At least in tutorial for now.

Fixes #2341
2015-09-15 17:05:35 +02:00
Fabian Homborg
31c75e747c Merge pull request #2388 from alco/patch-1
Fix a typo in docs/index
2015-09-15 16:05:23 +02:00
Alexei Sholik
8a1a446f45 Fix a typo in docs/index 2015-09-15 16:49:14 +03:00
Fabian Homborg
7fe8a63f53 Webconfig: It's abbr --erase, not abbr --remove
This was renamed in c0cf25cf0b but never
in webconfig.
2015-09-13 22:35:32 +02:00
Fabian Homborg
48874294d6 Webconfig: abbr doesn't support "--"
Fixes #2276
2015-09-13 22:35:32 +02:00
ridiculousfish
f5093f1625 Fix tests under certain vswprintf calls
Work around an issue where vswprintf may not append
ANY_STRING from a format specifier
2015-09-12 16:32:52 -07:00
Fabian Homborg
4bc8cf1a1a Fix typo in documentation 2015-09-12 15:46:40 +02:00
Stefan Maric
527c932e93 Fix npm run completion executing only on completions load, also:
* Better handling of `npm run` output
2015-09-12 12:12:21 +02:00
Stefan Maric
cba3db6205 Remove redundant completions that lack descriptions for npm 2015-09-12 12:12:21 +02:00
Stefan Maric
3b798b1733 Make use of npm completion 2015-09-12 12:12:21 +02:00
Stefan Maric
f898d82536 Add script values as descriptions to npm run/run-script completion 2015-09-12 12:12:21 +02:00
Stefan Maric
3b5aab6edb Complete list of available scripts for npm run/run-script command 2015-09-12 12:12:21 +02:00
Fabian Homborg
11c8a47d22 Document %last process expansion
Fixes #2379 (at least the most pressing part of it).
2015-09-11 21:12:36 +02:00
Fabian Homborg
b2323ca203 commandline docs: Add examples for the filters
i.e. "-t", "-b", "-j" and "-p"
2015-09-11 21:05:55 +02:00
Fabian Homborg
2c648c80c8 docs: Improve autoloading/event documentation
The thing that says "event handlers can't be autoloaded, put it in config.fish". I make good words.
2015-09-11 11:33:04 +02:00
Fabian Homborg
b8d9ba993d printf docs: Improve wording 2015-09-11 11:33:04 +02:00
Fabian Homborg
3810ef47f7 Add multi-condition example to if documentation 2015-09-11 11:33:04 +02:00
Fabian Homborg
bbbadbcb78 Document printf 2015-09-11 11:33:04 +02:00
Fabian Homborg
c0acc98faa Also document autoloaded event handlers in funcsave 2015-09-11 11:33:04 +02:00
Fabian Homborg
9828d787fa Document problems with event handlers and autoloading
Fixes #845.
2015-09-11 11:33:04 +02:00
Fabian Homborg
53456b5fc3 Document pushd "+N" and "-N"
Fixes #2173
2015-09-11 11:33:04 +02:00
Fabian Homborg
73a5e2bc6b Document dirs -c
Fixes #2174
2015-09-11 11:33:04 +02:00
ridiculousfish
9a2ac5fcb6 Fix a typo in documentation for 'complete' 2015-09-10 18:09:08 -07:00
ridiculousfish
025b45b91e Don't crash on complete -C in non-interactive mode
Fixes #2361
2015-09-10 18:08:42 -07:00
Fabian Homborg
31d1e04301 git completion: Don't check $cmd[1]
Before we do anything else, remove this senseless piece of code
2015-09-10 16:17:14 +02:00