Fabian Homborg
86133b0a2b
Add read --tokenize
...
This splits a string into variables according to the shell's
tokenization rules, considering quoting, escaping etc.
This runs an automatic `unescape` on the string so it's presented like
it would be passed to the command. E.g.
printf '%s\n' a\ b
returns the tokens
printf
%s\n
a b
It might be useful to add another mode "--tokenize-raw" that doesn't
do that, but this seems to be the more useful of the two.
Fixes #3823 .
2019-12-01 18:14:26 +01:00
Jason
2fd1e4ab75
Move __fish_complete_unrar into the completion script
2019-12-01 17:35:35 +01:00
Jason
fa373c102c
Move __fish_complete_wvdial_peers into the completion script
2019-12-01 17:34:46 +01:00
Jason
6486349725
Move __fish_complete_tar into the completion script
2019-12-01 17:34:27 +01:00
Jason
6245d76e57
Move __fish_complete_lsusb into the completion script
2019-12-01 17:33:07 +01:00
Jason
b3291619f4
Add missing logic to trampoline block
2019-12-01 17:31:41 +01:00
Jason
b358cee5fe
Move __fish_complete_setxkbmap into the completion script
2019-11-30 12:12:18 +01:00
Jason
d1a153cc7e
Dont convert path if browser is going to be run in terminal
2019-11-30 09:33:38 +01:00
Jason
585e4e905b
Dont convert path if browser is going to be run in terminal
2019-11-30 09:33:38 +01:00
Jason
8192fb2f2a
Fix Windows path support for WSL/Cygwin
...
- Use wslpath under WSL to provide full path to help file
- Use eval on the final command to cmd.exe
- Use trampoline where necessary for Cygwin
2019-11-30 09:33:38 +01:00
Fabian Homborg
1f976a5041
Disavow IRC channel
...
I don't know of any fish dev on there, so it's not a good channel to
reach us and I have no idea how good it is, so it's best to just ditch it.
2019-11-30 09:29:49 +01:00
Rosen Penev
6b6884aec6
osx/install: Run through shellcheck
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-30 09:27:50 +01:00
Rosen Penev
72bf267d96
make_pkg: Run through shellcheck
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-30 09:27:50 +01:00
Rosen Penev
9fe7efb82f
git_version_gen: Run through shellcheck
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-30 09:27:50 +01:00
ridiculousfish
39e5ffde93
Rename __fish_complete_file_url to __fish_evince_complete_file_url
...
As the function is now private to evince, use a less generic name.
2019-11-30 00:23:54 -08:00
mk2
c36d802dda
Move __fish_complete_file_url to evince.fish
2019-11-30 00:21:47 -08:00
ridiculousfish
fb8e90de28
clang-format .cpp files
2019-11-29 23:57:19 -08:00
Rosen Penev
e4a7e7d4f7
[clang-tidy] Use strcmp family properly
...
Found with bugprone-suspicious-string-compare
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:51 -08:00
Rosen Penev
e45ae9df49
[clang-tidy] Enclose macro arguments in ()
...
Found with bugprone-macro-parentheses
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:51 -08:00
Rosen Penev
9507c3a159
[clang-tidy] Don't initialize member functions
...
Found with readability-redundant-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:51 -08:00
Rosen Penev
6f4a9d527c
[clang-tidy] Use C++ using instead of C typedef
...
Found with modernize-use-using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:51 -08:00
Rosen Penev
7d1cc992e5
[clang-tidy] Simplify boolean expressions
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:51 -08:00
Rosen Penev
4087b2ee15
[clang-tidy] Use bool literals
...
Found with modernize-use-bool-literals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:50 -08:00
Rosen Penev
c3fa8c04bf
[clang-tidy] Don't empty initialize strings
...
Found with readability-redundant-string-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:50 -08:00
Rosen Penev
87e24db5ef
driver.sh: Run through shellcheck
2019-11-28 20:26:01 +01:00
Rosen Penev
a755bc5cf6
make_tarball.sh: Run through shellcheck
2019-11-28 18:57:38 +01:00
ridiculousfish
b5d0075406
Use iothread pool for background fillthreads
...
Background fillthreads are used when we want to populate a buffer from an
external command. The most common is command substitution.
Prior to this commit, fish would spin up a fillthread whenever required.
This ended up being quite expensive.
Switch to using the iothread pool instead. This enables reusing the same
thread(s), which prevents needing to spawn new threads. This shows a big
perf win on the alias benchmark (766 -> 378 ms).
2019-11-27 12:03:56 -08:00
ridiculousfish
106af5f56a
Migrate some iothread functions into member functions of thread_pool_t
...
This reintroduces commits 22230a1a0d
and 9d7d70c204
, now with the bug fixed.
The problem was when there was one thread waiting in the pool. We enqueue
an item onto the pool and attempt to wake up the thread. But before the
thread runs, we enqueue another item - this second enqueue will see the
thread waiting and attempt to wake it up as well. If the two work items
were dependent (reader/writer) then we would have a deadlock.
The fix is to check if the number of waiting threads is at least as large
as the queue. If the number of enqueued items exceeds the number of waiting
threads, then spawn a new thread always.
2019-11-27 12:03:56 -08:00
Fabian Homborg
83f153eb4c
Revert "builtin_printf: Use proper functions"
...
This reverts commit 1102b83b2d
.
wcstold_l is not available on musl and we don't currently have our "own" implementation.
Revert for now until we do.
2019-11-27 18:50:28 +01:00
mk2
439470b048
Move __fish_complete_ant_targets to ant.fish
2019-11-27 16:32:37 +01:00
Fabian Homborg
9a3fb3e265
Use POSIX sh in the benchmark driver
...
There are reasons to use bash, `hash` is not one of them, as `command
-v` is perfectly capable and in POSIX.
[ci skip]
2019-11-27 16:21:11 +01:00
ridiculousfish
efe6fb3c3b
Use hyperfine in the benchmark driver if available
2019-11-26 11:10:04 -08:00
Fabian Homborg
662fb3f3d1
Fix line numbers in functions
...
This added the function offset *again*, but it's already included in
the line for the current file.
And yes, I have explicitly tested a function file with a function
defined at a later line.
Fixes #6350
2019-11-26 18:12:24 +01:00
Johannes Altmanninger
f36705bb66
Fix error messages for "and" and "or" after pipe
...
Fixes #6347
2019-11-26 14:03:53 +01:00
Johannes Altmanninger
97969a9363
Restore error messages for bare variable assignment
...
Since #6287 , bare variable assignments do not parse, which broke
the "Unsupported use of '='" error message.
This commit catches parse errors that occur on bare variable assignments.
When a statement node fails to parse, then we check if there is at least one
prefixing variable assignment. If so, we emit the old error message.
See also #6347
2019-11-26 13:59:17 +01:00
David Adam
563bdf3cc7
docs: update isatty documentation to refer to terminals
...
Use language that is more accurate, similar to what glibc uses.
Closes #6355 .
2019-11-26 18:18:16 +08:00
David Adam
b8a9f2f228
docs: restore compatibility with Sphinx < 1.8.0
2019-11-26 18:17:20 +08:00
ridiculousfish
305409a025
Fix the vi mode bind test
...
Note support for the 'replace' mode.
2019-11-25 16:43:54 -08:00
ridiculousfish
d11a5088c5
Relnote vi replace mode #6342
2019-11-25 16:42:18 -08:00
0x005c
48dc9b1e82
Add replace mode in vi-mode
2019-11-25 16:05:10 -08:00
ridiculousfish
267b8da935
Remove dead function reconstruct_orig_str
...
This function is no longer called.
2019-11-25 15:52:30 -08:00
Rosen Penev
1102b83b2d
builtin_printf: Use proper functions
...
Removes unnecessary type conversions.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:50:40 -08:00
Rosen Penev
69d0bb7c0d
io.h: Add missing override
...
Found with clang's -Winconsistent-missing-destructor-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:50:40 -08:00
Rosen Penev
586ac3dfa7
[clang-tidy] Convert loops to range based
...
Found with modernize-loop-convert
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:50:40 -08:00
Rosen Penev
1055ff321c
[clang-tidy] Replace NULL with nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:23:03 -08:00
Rosen Penev
8d54e928cd
[clang-tidy] C to C++ headers
...
Found with modernize-deprecated-headers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:17:49 -08:00
Rosen Penev
0dfa7421f3
[clang-tidy] Convert C casts to C++ ones
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:17:49 -08:00
Rosen Penev
7f62e30731
[clang-tidy] Replace size comparisons with empty
...
Found with readability-container-size-empty
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:13:33 -08:00
Rosen Penev
5ca80a61e3
[clang-tidy] Fix inconsistent declarations
...
Found with readability-inconsistent-declaration-parameter-name
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:13:33 -08:00
Osamu Aoki
435556001e
"eval" example to use $cmd as an array
...
Signed-off-by: Osamu Aoki <osamu@debian.org>
2019-11-25 13:23:21 +01:00