Fabian Homborg
973739e329
Move CHECKS in loop-test to where they are matched
2021-10-26 17:38:40 +02:00
Fabian Homborg
76f3564e2a
Remove now unused out_events parameter
2021-10-26 17:38:40 +02:00
Fabian Homborg
0c3c3eaa99
Reuse the variable event for for-loops
...
This used to construct a vector, which was then passed down and filled
with a new event_t each go around the loop. That's useless - we fire
one event here, and it's simply the variable event.
This reduces the overhead of a for-loop by ~10%:
```fish
for i in (seq 100000)
true
end
```
runs in about 90% of the time now.
2021-10-26 17:38:35 +02:00
Fabian Homborg
452675d458
Use set_vars_and_fire where possible
...
This just did the same thing manually.
2021-10-26 17:33:36 +02:00
Fabian Homborg
da201ee8ac
Let parser::set_var_and_fire fire the event directly
...
The vector here gives us *nothing*
2021-10-26 17:33:27 +02:00
Fabian Homborg
d9f094db1a
Check if the for variable is invalid before trying to set it
2021-10-26 16:59:03 +02:00
ridiculousfish
e84dad5432
Rationalize null handling in disown_job
...
disown_job had some extraneous null checks that could not happen in
practice. Simplify this code.
2021-10-25 16:13:00 -07:00
ridiculousfish
ec244c3975
Add tests for dynamically invoked break and continue
2021-10-25 12:43:30 -07:00
ridiculousfish
cb79548c49
Revert "break/continue: Stop checking if it's in a loop again"
...
This reverts commit 61cd05efb0
.
It is true that we detect break and continue errors statically, but they can
still be invoked dynamically, example:
set sneaky break
$sneaky # dynamically breaks from the loop
or just `eval break`.
A followup commit will add tests for this.
2021-10-25 12:42:53 -07:00
Fabian Homborg
61cd05efb0
break/continue: Stop checking if it's in a loop again
...
This is already checked in the parse_util_detect_errors (and might
actually be done in the ast - that's where we check "end")
2021-10-25 18:57:10 +02:00
Fabian Homborg
c444ee2e6a
benchmarks: Add globbing
2021-10-25 18:42:18 +02:00
Fabian Homborg
18bb5f1f7e
builtin_count: Remove superfluous L'' prefix
...
(not sure if this broke anything anywhere, but since we're comparing
an actual char* we should use '' without the L)
2021-10-25 18:40:43 +02:00
ridiculousfish
a6a1879481
Remove reader_get_history
...
It was unused.
2021-10-24 14:17:33 -07:00
Fabian Homborg
d03ec2cc6b
docs/interactive: Some rewording.
2021-10-24 21:18:31 +02:00
Fabian Homborg
479c11bc80
FAQ: Remove rarely asked questions
2021-10-24 21:18:31 +02:00
Aaron Gyes
e30b6c47f0
Adjust the GitHub thread locker script.
...
Set locked thread inactivity count to default 365.
Add 'needs more info' as an obvious on its face exception.
The default seems quite an inconventient, very strict thing t do:
it will lock threads that are closed and quiet because they have
been quiet and closed. This seems to make it hard to talk about
issues after they are closed or contribute. I can as a fish-shell
contributor, but that's not really the point.
Practically, right now to reply to any PR or any issue fixed in
July, well you can't.
2021-10-24 04:50:25 -07:00
Aaron Gyes
a7e62a538e
Revert "Swap file size and file type description position in pager"
...
This reverts commit d8722a3ddf
.
I underestimated the value of having the file sizes easier to
eyeball and compair. Back to the drawing board.
2021-10-23 22:17:09 -07:00
Aaron Gyes
d8722a3ddf
Swap file size and file type description position in pager
...
File sizes are are always of variable length, while we there
are just a few different typrs of files. Since we right align,
this makes things look more lined up.
…ocal/bin/afsctool (Executable, 74.0kB)
…ocal/bin/clang-format (Executable link, 1.9MB)
…ocal/bin/clone_checker (Executable, 33kB)
…ocal/bin/cryptest.exe (Executable, 11MB)
…ocal/bin/cscc (Executable, 22kB)
…ocal/bin/cscout (Executable, 902kB)
…ocal/bin/csmake (Executable, 22kB)
…ocal/bin/cswc (Executable, 5.7kB)
…ocal/bin/dirb (Executable, 90kB)
…ocal/bin/ethminer-m1 (Executable, 4.8MB)
…ocal/bin/fork (Executable link, 206kB)
vs
…ocal/bin/afsctool (74.0kB, Executable)
…ocal/bin/clang-format (1.9MB, Executable link)
…ocal/bin/clone_checker (33kB, Executable)
…ocal/bin/cryptest.exe (11MB, Executable)
…ocal/bin/cscc (22kB, Executable)
…ocal/bin/cscout (902kB, Executable)
…ocal/bin/csmake (22kB, Executable)
…ocal/bin/cswc (5.7kB, Executable)
…ocal/bin/dirb (90kB, Executable)
…ocal/bin/ethminer-m1 (4.8MB, Executable)
…ocal/bin/fork (206kB, Executable link)
…ocal/bin/fish (2.4MB, Executable)
2021-10-23 15:37:43 -07:00
ridiculousfish
2ed0105692
Use std::move to populate a processes's args
...
This could save quite a few string copies.
2021-10-23 10:35:05 -07:00
ridiculousfish
4a6d622733
Continue to refactor functions
...
Now that we have immutable props, we can remove a bunch of 'helper'
functions.
2021-10-23 10:12:52 -07:00
ridiculousfish
7d7b930b08
Rename function_get_properties to function_get_props
...
We're calling it a lot so let's make it shorter.
2021-10-23 10:12:52 -07:00
ridiculousfish
089da2314d
Eliminate function_info_t
...
function_info_t was the "mutable bits" of a function, like its
description. But we have eliminated all of those, so we can eliminate
the class.
No functional change here.
2021-10-23 10:12:52 -07:00
ridiculousfish
1c5208cf5c
Migrate a function's description into its immutable properties
...
No functional change here.
2021-10-23 10:12:52 -07:00
ridiculousfish
17d9ae16be
Migrate the function's is_autoload field into its immutable properties
...
Continuing to simplify functions. No functional change here.
2021-10-23 10:12:52 -07:00
ridiculousfish
12134c19d9
Migrate the function's definition file into its immutable properties
...
This never changes once initialized, so we can make it immutable. No
functional change here.
2021-10-23 10:12:52 -07:00
ridiculousfish
d904cc4964
Stop passing null function properties in testing
...
This allows us to assert that our functions are not null.
2021-10-23 10:12:52 -07:00
ridiculousfish
59b63f3aab
Use vec_append when expanding a command into arguments
...
This saves some lines and some allocations.
2021-10-23 10:10:26 -07:00
ridiculousfish
a634e78633
Remove an extra use of process_type_for_command
...
This just duplicated a previous call above.
2021-10-23 10:07:24 -07:00
Johannes Altmanninger
ece89f43aa
tests/test_env.sh: fix copy paste error so we export XDG_RUNTIME_DIR
...
fish might use XDG_RUNTIME_DIR for the uvar notifier fifo, so this
makes sure that tests are isolated.
Also set permissions to comply with the XDG basedir spec.
2021-10-23 18:59:15 +02:00
Fabian Homborg
4b46717a91
docs: Move configuration section to language
...
Instead leave a simple "use config.fish" bit in-place.
Also some minor rewording.
2021-10-23 17:13:36 +02:00
Fabian Homborg
aef6cc1538
docs: Hand-write a list of short descriptions in commands
...
This is more readable than the full list, especially for the important
things.
2021-10-23 16:46:15 +02:00
Fabian Homborg
763c5deb39
Teach help about commands.html
2021-10-23 13:47:01 +02:00
Fabian Homborg
c7475202ae
Move wslpath changelog entry to 3.4
2021-10-22 23:39:12 +02:00
take
3ae1842fbe
Add clasp completion ( #8373 )
...
* Add clasp completion
* Update CHANGELOG.rst
2021-10-22 23:23:22 +02:00
Jason Nader
95dbef1432
Update dmesg completions
2021-10-22 23:22:26 +02:00
百地 希留耶
be9b8829d0
Add completions for wslpath
( #8364 )
...
* add completions for `wslpath`
* add changelog entry for `wslpath` completion
2021-10-22 23:22:02 +02:00
LetMeByte
af7704ef06
Fix st issue with shift+tab ( #8354 )
2021-10-22 23:21:25 +02:00
Aaron Gyes
f817dc7a76
fixup or/and typo
2021-10-22 12:55:43 -07:00
Aaron Gyes
374d580474
Combine 3 git config
forks into one
...
fish_git_prompt duration improved from 76ms to 45ms here.
2021-10-22 12:45:39 -07:00
Aaron Gyes
46278d7137
remove for loops from git prompt event handlers
2021-10-22 09:05:18 -07:00
Aaron Gyes
901dbd71b0
fix build when path has spaces in it.
...
Now it works.
2021-10-22 02:27:19 -07:00
Aaron Gyes
f4377e1a26
necro working tests from 11a373f121
2021-10-21 23:50:42 -07:00
Fabian Homborg
db5e7734a6
Some small changes to the docs
...
Reorder the variables, make more cd-related stuff subsections, a
slight rewording.
2021-10-20 21:28:14 +02:00
Fabian Homborg
144778dc28
Complete: Fix long-form of "-r" in complete
output
...
This was never `--requires-param`, AFAICT.
2021-10-20 21:05:17 +02:00
Fabian Homborg
6e491ad457
abbr: add missing options
...
Fixes #8367 .
2021-10-19 17:45:18 +02:00
Fabian Homborg
b15dc2b2e8
argparse: Prevent duplicate error trailer
...
This was already printed by builtin_missing_argument/unknown_option.
Since we need more control (because we add our own errors in other
places), teach builtin_unknown_option to suppress the trailer, like
missing_argument already could.
And then use it.
Fixes #8368 .
2021-10-19 17:43:54 +02:00
Fabian Homborg
21ddffb9e0
CHANGELOG 8292
2021-10-19 17:35:32 +02:00
Fabian Homborg
43c58df873
Test option highlighting in command substitutions
2021-10-19 17:30:45 +02:00
Fabian Homborg
9700a75f38
fish_tests: Make a fancy caret for highlighting errors
...
Now looks like
```
Error: Wrong color in test at index 8-11 in text (expected 0x6, actual 0x2):
command echo abc foo &
^^^^
```
instead of repeating the error for every character that is wrong.
2021-10-19 17:27:35 +02:00
Fabian Homborg
711796ad13
Highlight options differently
...
This introduces a new variable, $fish_color_option, that can be used
to highlight options differently.
Options are tokens starting with `-`, but only up to (and including!)
the first `--`.
Fixes #8292 .
2021-10-19 17:20:21 +02:00