Commit graph

359 commits

Author SHA1 Message Date
ridiculousfish
1bdd629326 Prevent signals from tearing multi-char bindings
Say the user has a multi-char binding (typically an escape sequence), and a
signal arrives partway through the binding. The signal has an event handler
which enques some readline event, for example, `repaint`. Prior to this
change, the readline event would cause the multi-char binding to fail. This
would cause bits of the escape sequence to be printed to the screen.

Fix this by noticing when a sequence was "interrupted" by a non-char event,
and then rotating a sequence of such interruptions to the front of the
queue.

Fixes #8628
2022-02-05 13:18:36 -08:00
Emily Grace Seville
1b12719364 Extend mono completions
Work on mono.fish
- rewrite runtime option completions

Add new mono tools:
- gacutil
- xsp
- mkbundle
- ilasm
- monodis
- ikdasm
- monop
- sqlsharp
- gendarme
- csharp

Closes #8452
2022-02-05 20:09:45 +01:00
David Adam
065b769c1d CHANGELOG: work on 3.4.0 2022-02-03 22:42:24 +08:00
Aaron Gyes
a03e245e13
Update CHANGELOG.rst 2022-02-01 00:47:18 -08:00
ridiculousfish
30216b2d62 CHANGELOG: new Windows command completions
This relnotes completions from #8486
2022-01-26 22:18:20 -08:00
Johannes Altmanninger
df3b0bd89f Fix commandline state for custom completions with variable overrides
Today, a command like "var=val status " has custom completions
because we skip over the var=val variable override when detecting
the command token.
However if the custom completions read the commandline state (via
"commandline -opc") they do see they variable override, which breaks
them, most likely. Try "a=b git ".

For completions of wrapped commands, we already set a transient
commandline. Do the same for commands with  leading variable overrides;
then git completions for "a=b git " will think the commandline is
"git ".
2022-01-27 03:51:32 +01:00
David Adam
640feeee67 CHANGELOG: work on 3.4.0 2022-01-23 22:45:09 +08:00
Aaron Gyes
9c1723863d
Update CHANGELOG.rst 2022-01-21 14:28:49 -08:00
Fabian Homborg
02241d19be CHANGELOG More ignores 2022-01-20 17:15:34 +01:00
Fabian Homborg
f612ade5d9 CHANGELOG for 3.4.0 2022-01-18 18:09:29 +01:00
David Adam
a22779e807 CHANGELOG: work on 3.4.0 2022-01-18 23:34:50 +08:00
Fabian Homborg
698b818935 Shorten default title
This now skips the "fish" bit and uses prompt_pwd to print a shorter title.

See #8641.
2022-01-16 11:17:31 +01:00
Fabian Homborg
ca12ce2494 CHANGELOG 2022-01-15 12:22:11 +01:00
Fabian Homborg
58cf5f249a Document font changes 2022-01-13 16:25:45 +01:00
David Adam
50dc826d7d CHANGELOG: work on 3.4.0 2022-01-09 08:44:01 +08:00
David Adam
ec4eccce34 CHANGELOG: work on 3.4.0 2022-01-07 00:09:02 +08:00
David Adam
a7b4fc3845 CHANGELOG: work on 3.4.0 2022-01-05 00:24:41 +08:00
David Adam
bd7edbcf50 Revert "Work on CHANGELOG for 3.4 (#8601)"
This reverts commit 935ec39668.

8403 was already in the ignore list and subcommands are not usually
included in the new completion list.
2022-01-04 22:35:43 +08:00
Ilan Cosman
935ec39668
Work on CHANGELOG for 3.4 (#8601) 2022-01-03 18:58:56 +01:00
David Adam
17b5647474 CHANGELOG: work on 3.4.0 2022-01-03 23:43:14 +08:00
David Adam
76a336d647 CHANGELOG: work on 3.4.0 2021-12-29 18:53:38 +08:00
David Adam
a9f6a38e37 CHANGELOG: work on 3.4.0 2021-12-28 14:03:11 +08:00
David Adam
3bb7f51691 CHANGELOG: work on 3.4.0 2021-12-28 12:57:34 +08:00
Nils K
1877253f47
Pass all of $argv to pk-command-not-found (#8591)
Fixes #8579.
2021-12-28 12:56:31 +08:00
Johannes Altmanninger
a078a56492 CHANGELOG: don't mention completions/man fix for BSD mandoc
This is just a fix to an existing completion entry, we usually don't
mention those.
2021-12-19 15:15:46 +01:00
David Adam
4389658e7b CHANGELOG: work on 3.4.0 2021-12-15 22:58:53 +08:00
Johannes Altmanninger
1d1bee3ba2 CHANGELOG: some updates for 3.4.0
I used the command from #8092 to list issues/PRs with missing changelog
entries, and went through most of them and added them to the changelog
(or the "ignore" list).

This commit message lists the processed issues in a consistent format,
and lists the action/reason. For each issue/PR there are twolines:
- Issue/PR number + subject
  - (I used bare issue numbers to avoid cross-referencing on github).
- verdict
  - "added new entry" means that we add a changelog line
  - "added to existing entry" means that we added the issue link to an existing
     changelog line. Usually we don't add multiple issue links, but sometimes
     there are multiple interesting issues.
  - if the verdict ends with ", ignoring", we added it to the "ignore" list in
    the changelog.

The issues are grouped by verdict, with the interesting/leftover ones
on top.

The "gh" script is already a quantum leap but we should still find
better ways to share the burden of writing the changelog.
I noticed that there are many minor updates that can probably be
ignored.  Filtering them out doesn't take much time but it adds up,
especially if it's a single person doing it.

Here's the adapted script I used:

	for issue in (gh issue list --state closed --milestone "fish 3.4.0" -L 500 | sort -n | cut -f 1)
	    egrep --quiet '\W'$issue CHANGELOG.rst; or echo https://github.com/fish-shell/fish-shell/issues/$issue
	end
	for pr in (gh pr list --state all --search "milestone:\"fish 3.4.0\"" -L 500 | sort -n | cut -f 1)
	    egrep --quiet '\W'$pr CHANGELOG.rst; or echo https://github.com/fish-shell/fish-shell/pull/$pr
	end

---

Issue 8153: Work around `setpgid` error on older Apple platforms
workaround for old OSs for which we've since dropped support, ignoring

Issue 8511: math: (n n): incorrect error
improved error output, which is very nice but too minor, ignoring

Issue 8205: Fish autocomplete error on iOS procursus
niche fix, ignoring

Issue 8271: Fix `fish_key_reader` wrapper check
minor update to not create a harmless alias for fish_key_reader, ignoring

Issue 8289: funced dosn't like backslash escapes in function names
minor escaping fix, ignoring

Issue 8310: Hide whatis database building from the user
not something many users would notice in the first place, ignoring

Issue 8368: Duplicated "Type 'help argparse' for related documentation" for argparse
minor update to error message, ignoring

Issue 8444: Variable highlight color does not span lines
very obscure fix, ignoring

Issue 8195: Errors when trying to autocomplete (invalid) UTF-8 escapes
niche fix, ignoring

Issue 8308: assertion normal_exited() failed related to paged builtin help
niche fix, ignoring

Issue 8358: sigsegv on set --show variable (when LANG is set to fr_FR.utf8)
niche(?) fix, ignoring

Issue 8170: Builtin math ncr can be extremely slow
performance improvement only when the input is NaN, ignoring

Issue 8204: Always use LC_NUMERIC=C internally
performance improvement for math, ignoring

---

Issue 8295: Add --function to `read`
added to existing entry (565)

Issue 8283: Added completions for ethtool
added to existing entry

Issue 8315: Add dart completion
added to existing entry

Issue 8330: Add common lisp completions(sbcl/roswell)
added to existing entry

Issue 8354: Fix st issue with shift+tab
added to existing entry (8352)

Issue 8391: Support vi-mode cursors in Foot Terminal 
added to existing entry (8167)

Issue 8405: Completions pager should redraw if the subbed completion wraps/unwraps the line
added to existing entry (8509)

---

Issue 8530: Speed up, fix fish_status_to_signal 8530
added new entry

Issue 8547: command -v nonexistent should exit 127
added new entry

Issue 8431: Abbr -q return status inconsistent
added new entry

Issue 8428: Binding escape as user binding breaks escape sequence bindings (arrows, etc)
added new entry

Issue 8483: Windows "color" command completion
added new entry

Issue 8087: Doesn't build when using netbsd curses on Linux
added new entry

Issue 8152: Don't override linker
added new entry

Issue 8156: Add completions for `git-sizer`
added new entry

Issue 8163: `d3ceba107e88b6c6e1a0358ebcb30366aeef653f` causes issues with repainting multi-line prompt
added new entry

Issue 8175: Completion sometimes missing the last token
added new entry

Issue 8179: `set -S` should mark read-only variables
added new entry

Issue 8209: Slow interaction between backgrounding, universal variables, and repainting
added new entry

Issue 8274: Unsetting `$fish_emoji_width` doesn't clear the cached width
added new entry

Issue 8298: If prompt ends in an empty line, the commandline is inserted at the width of the line before
added new entry

Issue 8309: colors don't kick in for ls on macOS Big Sur, Monterey (and maybe FreeBSD)
added new entry

Issue 8337: Adds sub-command clear-session to history command. Issue 5791
added new entry (as 5791)

Issue 8352: Fix delete-key in st
added new entry

Issue 8373: Add clasp completion
added new entry

Issue 8434: argparse completions
added new entry

Issue 8510: fish_key_reader ^C warning isn't right
added new entry

Issue 8519: Use `--almost-all` in `la` function
added new entry

---

Issue 1363: improve the experience of using fish over mosh
listed as 8376, ignoring

Issue 8305: incomplete man page completions
listed as 8309, ignoring

Issue 8059: Support "$(cmd)" command substitution without line splitting
listed as 159, ignoring

Issue 8127: fish_config: Read colorschemes from .theme files
listed as 8132, ignoring

Issue 8130: funced: edit the whole file, not just the function definition
listed as 391, ignoring

Issue 8270: builtin cd: print error about broken symlink
listed as 8264, ignoring

Issue 8306: fix man completion for BSD's mandoc
listed as 8305, ignoring

Issue 8441: Don't escape tildes that come from custom completions
listed as 8441, ignoring

---

Issue 8429: `cargo run --example` completions break with nested example directories
update to existing completions, ignoring

Issue 8446: Use `cargo run --example` to get list of examples
update to existing completions, ignoring

Issue 8338: Display local branches before unique remote branches in git completion
update to existing completions, ignoring

Issue 8118: Node completion: add v8 sparkplug option
update to existing completions, ignoring

Issue 8183: Add zypper subcommands completion
update to existing completions, ignoring

Issue 8184: completion nmap: suppress warning when local scripts folder exists
update to existing completions, ignoring

Issue 8191: add missing `git commit` completions
update to existing completions, ignoring

Issue 8192: Updated ping completions
update to existing completions, ignoring

Issue 8202: Add `--function` to `set` completion
update to existing completions, ignoring

Issue 8219: completion: support `--no` prefixes for mpv flag options
update to existing completions, ignoring

Issue 8241: complete "mpc load"
update to existing completions, ignoring

Issue 8243: Add and fix completions for new options
update to existing completions, ignoring

Issue 8249: Fix completions/ls.fish
update to existing completions, ignoring

Issue 8256: Fix completions/coredumpctl.fish and add new complete
update to existing completions, ignoring

Issue 8311: completions/git: Handle "1 .T" & "1 AT" files
update to existing completions, ignoring

Issue 8323: completions/xbps-query: add missing `-p` completions
update to existing completions, ignoring

Issue 8326: Update ldapsearch.fish
update to existing completions, ignoring

Issue 8327: small fix completions/duply.fish
update to existing completions, ignoring

Issue 8334: Update ip.fish
update to existing completions, ignoring

Issue 8344: Fix ant completion
update to existing completions, ignoring

Issue 8365: Update dmesg completions
update to existing completions, ignoring

Issue 8367: No hints for -g|--global and -U|--universal flags for abbr command
update to existing completions, ignoring

Issue 8381: Updated systemd-analyze completions
update to existing completions, ignoring

Issue 8406: vmctl completion function call needs to be quoted
update to existing completions, ignoring

Issue 8480: pabcnetcclear command completion update
update to existing completions, ignoring

---

Issue 8495: Stop linking to StackOverflow
doc update, ignoring

Issue 8176: document `--no-config`
doc update, ignoring

Issue 8260: Theme demo needs to be adjusted so that only unmatched quote is an error
doc update, ignoring

Issue 8380: no error about wrong >>? redirection operator
doc update, ignoring

Issue 8385: set -l works outside of command block
doc update, ignoring

Issue 8409: Some enhancements to "for" and "while" loop pages
doc update, ignoring

Issue 8439: Html docs: Remove link underlines again?
doc update, ignoring

Issue 8457: Old-style options support "=" assignment operator in complete builtin
doc update, ignoring

Issue 8522: Document prompt_hostname
doc update, ignoring

---

Issue 8221: edit_command_buffer: use "command" to ignore any functions with the same name
only helps broken systems, ignoring

Issue 8287: Prepend command to cat
only helps broken systems, ignoring

Issue 8299: Make less version check compatible with older Fish
only helps broken systems, ignoring

Issue 8487: fish_config doesn't work without curses module
only helps broken systems, ignoring

---

Issue 8128: fix 'socket file name too long' error
test fix with long tempdirs (macOS), not really user-visible, ignoring

Issue 8449: Give tests a more generic name
not user-visible, ignoring

Issue 8353: string tests sometimes failing on macOS (Github Actions)
not user-visible, ignoring

Issue 6477: history merge test fails on OpenBSD
not user-visible, ignoring

---

Issue 8471: Obtain Deno completions from itself
update to an unreleased feature (7138), ignoring

Issue 8253: `string length --visible` performance
update to an unreleased feature, ignoring

Issue 8277: Backspace character is ignored when calculating string widths
update to an unreleased feature, ignoring

Issue 8314: `fish_config choose` leaves previous right prompt in place
update to an unreleased feature, ignoring

Issue 8394: parenthesis characters outer of $(command substitution) in string cause error
update to an unreleased feature, ignoring

Issue 8500: Parser bug with command substitutions in strings inside parenthesis
update to an unreleased feature, ignoring

Issue 8419: fish_config: silently doesn't set color schemes.
regression, not in any release, ignoring

Issue 8438: :program: in sphinx doesn't link
regression, not in any release, ignoring

Issue 8478: __fish_seen_argument.fish throws exception when autocompleting
regression, not in any release, ignoring

---

Issue 8280: Fix typo in abbr docs
typofix, ignoring

Issue 8321: Fix typo in `set_colors` command documentation
typofix, ignoring

Issue 8257: Typo funcions -> functions
typofix, ignoring

---

Issue 8206: remove make_pair
no behavior change, ignoring

Issue 8222: replace push_back with emplate_back
no behavior change, ignoring

Issue 8224: clang-tidy: remove pointless virtual
no behavior change, ignoring

Issue 8227: change value to rvalue reference
no behavior change, ignoring

Issue 8228: convert const ref to rvalue ref
no behavior change, ignoring

Issue 8229: clang-tidy: use for range loops
no behavior change, ignoring

Issue 8230: fix deleted constructors
nno behavior change, ignoring

Issue 8231: clang-tidy: const reference conversions
no behavior change, ignoring

Issue 8235: clang-tidy: simplify two bool returns
no behavior change, ignoring

Issue 8237: clang-tidy: replace size comparisons with empty
no behavior change, ignoring

Issue 8239: clang-tidy: replace NULL with nullptr
no behavior change, ignoring

Issue 8252: add constexpr
no behavior change, ignoring

Issue 8430: __fish_seen_subcommand_from and __fish_seen_argument update
no behavior change (apart from a regression that's fixed), ignoring

Issue 8476: Run fish_indent on all non-test .fish files
no behavior change, ignoring

Issue 8477: Use test command instead of bracket command
no behavior change, ignoring

Issue 8521: Fix code scanning alert - Wrong type of arguments to formatting function
no behavior change, ignoring

Issue 8236: clang-tidy: replace push_back with emplace_back
no behavior change, ignoring

---
2021-12-15 22:18:16 +08:00
Johannes Altmanninger
f88e8260ca CHANGELOG: commandline -> command line
"commandline" is usually the term we  use in source code, and it's
also a builtin but user visible text should be English.
2021-12-15 22:18:16 +08:00
Johannes Altmanninger
fbb21a36f5 CHANGELOG: simplify example 2021-12-12 18:13:20 +01:00
Johannes Altmanninger
bb26e25b9d CHANGELOG: fix typo 2021-12-12 14:07:28 +01:00
Andrey Mishchenko
3b7994df52 Add completions for nodeenv v1.6.0 2021-12-11 10:25:07 +01:00
Andrey Mishchenko
bc25b566a0 Add CHANGELOG entry noting special input functions no longer available as fish functions 2021-12-11 10:19:18 +01:00
Andrey Mishchenko
bb0376887f Fix underline width 2021-12-11 10:19:18 +01:00
Andrey Mishchenko
98d443083d Fix word usage complimenting -> complementing 2021-12-11 10:19:18 +01:00
Aaron Gyes
f33df5a533
CHANGELOG.rst: a/an 2021-12-08 23:28:10 -08:00
David Adam
172b7a3995 CHANGELOG: work on 3.4.0
Includes list of issues that can be omitted for now.
2021-12-09 13:47:44 +08:00
thibault
ceade1629d builtin commandline: add option to determine if pager is fully disclosed
Use the remaining_to_disclose count to determine if all completions
are shown (allows consistent behavior between short and long completion
lists).

Closes #8485
2021-12-04 22:43:39 +01:00
Johannes Altmanninger
594c23181f Changelog for completion pager fix on multiline command (#8509) 2021-12-04 16:52:13 +01:00
Aaron Gyes
6fd988a355
Update CHANGELOG.rst
. . .
2021-12-01 02:09:28 -08:00
David Adam
d987ab8ec4 CHANGELOG: work on 3.4.0 2021-11-30 23:06:26 +08:00
Collin Styles
4a3e55f69c Don't escape tildes that come from custom completions
A completion entry like «complete -a '\\~'» results in completions
that insert \~ into the command line.  However we usually want to
insert ~, but there is no way to do that.

There are a couple of longstanding issues about completion escaping
[1].  Until we fix those in a general way, fix the common case by
never escaping tildes when applying custom completions to the command
line. This is a hack but will probably work out fine because we don't
expect literal tildes in arguments.

The tilde is included in completions for cdh, or
__fish_complete_suffix, which simply forwards results from "complete
-C". Revert a workaround to cdh that expanded ~, because we can now
render that without escaping.

Closes #4570, #8441

[ja: tweak patch and commit message]

[1]: https://github.com/fish-shell/fish-shell/pull/8441#discussion_r748803338
2021-11-27 17:05:46 +01:00
Johannes Altmanninger
ef3ded1091 Changelog expanding command tokens for custom completion #8442
Not strictly an interactive feature but fits better here?
2021-11-27 17:05:46 +01:00
Fabian Homborg
47e45704b1
Allow set --query to check for pathvarness (#8494)
Currently,

    set -q --unpath PATH

simply ignores the "--unpath" bit (and same for "--path").

This changes it, so just like exportedness you can check pathness.
2021-11-26 18:29:10 +01:00
Fabian Homborg
294ed27590 Changelog 2021-11-22 17:23:32 +01:00
Johannes Altmanninger
084458bc47 Minor changelog updates 2021-11-21 12:03:12 +01:00
Johannes Altmanninger
64dddfc6ce Only expand abbreviations if cursor is directly at command token
On a commandline like "ls arg" (cursor at end) we do not expand
abbrevations on enter.  OTOH, on "ls " we do expand. This can be
frustrating because it means that the two obvious ways to suppress
abbrevation expansion (C-Space or post-expansion C-Z) cannot be used to
suppress expansion of a command without arguments.  (One workaround is
"ls #".)

Only expand-on-execute if the cursor is at the command name (no space
in between).

This is a strict improvement for realistic scenarios, because if there
is a space, the user has already expressed the intent to not expand
the abbreviation. (I hope no one is using recursive abbreviations.)

Closes #8423
2021-11-14 11:52:10 +01:00
Fabian Homborg
94555ad26b CHANGELOG: Reorder
- More Notable
- Put ``_`` change into deprecation
- Things that can happen in scripts are scripting improvements, not
- interactive (funced is an interactive thing)
- Fix the variable name to turn off autosuggestions - it's $fish_autosuggestion_enabled.
2021-11-12 17:19:38 +01:00
Aaron Gyes
ac1df310c8 Long march towards more structured text 2021-11-12 04:22:35 -08:00
Fabian Homborg
4cad079aeb Le Changuelogue 2021-11-08 22:56:42 +01:00
Fabian Homborg
e163990788 CHANGELOG new completions 2021-11-08 17:22:02 +01:00