Richard
0de289f6b7
Feature/refactor completion options ( #5228 )
...
* Copy completion filter to custom completions
* Remove filter function from completer
This function was a no-op for FileCompletion and CommandCompletion.
Flag- and VariableCompletion just filters with `starts_with` which
happens in both completers anyway and should therefore also be a no-op.
The remaining use case in CustomCompletion was moved into the
CustomCompletion source file.
Filtering should probably happen immediately while fetching completions
to avoid unnecessary memory allocations.
* Add get_sort_by() to Completer trait
* Remove CompletionOptions from Completer::fetch()
* Fix clippy lints
* Apply Completer changes to DotNuCompletion
2022-04-19 13:59:10 -05:00
JT
76079d5183
Move config to be an env var ( #5230 )
...
* Move config to be an env var
* fix fmt and tests
2022-04-19 10:28:01 +12:00
Herlon Aguiar
dd1d9b7623
nu-cli/completions: completion for use and source ( #5210 )
...
* nu-cli/completions: completion for use and source
* handle subfolders for different base dirs
* fix clippy errors
2022-04-19 00:59:13 +12:00
Kat Marchán
1314a87cb0
update miette and switch to GenericErrors ( #5222 )
2022-04-19 00:34:10 +12:00
Marc Schreiber
a35b975d84
Shell Integration ( #5162 )
...
This commit renders ANSI chars in order to provide shell integrations
such Kitty's opening feature that captures the output of the last
command in a pager such as less.
Fixes #5138
2022-04-16 22:03:02 -05:00
Herlon Aguiar
cb3276fb3b
nu-cli/completions: removed unnecessary bool ( #5207 )
2022-04-16 13:34:38 +12:00
Tomoki Aonuma
c17129a92a
Fix env capture ( #5205 )
...
* Fix env capture
* Add test for env capture
2022-04-16 10:38:27 +12:00
JT
5bf1c98a39
Move to dev version 0.61.1 ( #5206 )
2022-04-16 09:29:30 +12:00
Herlon Aguiar
13b371ab58
nu-cli/completions: add completion for record vars ( #5204 )
2022-04-16 08:24:41 +12:00
Herlon Aguiar
2a3991cfdb
nu-cli/completions: add completion for $env. ( #5199 )
...
* nu-cli/completions: add completion for $env.
* use stack to avoid showing hidden env vars
2022-04-15 16:17:53 +03:00
Kat Marchán
3783c19d02
bump miette to 4.4.0 ( #5167 )
...
This fixes an issue where docsrs error links were not working.
Ref: https://github.com/zkat/miette/issues/147
2022-04-13 08:38:15 +12:00
JT
4566c904d0
Bump 0.61 ( #5166 )
2022-04-13 05:42:26 +12:00
Stefan Holderbach
9b020c056b
Pin reedline version for 0.61 release ( #5164 )
2022-04-13 04:38:36 +12:00
Stefan Holderbach
836f914163
Clean REPL code, hide Hints without ANSI coloring ( #5157 )
...
- With a change to reedline hints can now be hidden. This is useful when
no ANSI coloring is available as hints become indistinguishable from the
actual buffer
- remove commented out code
- order the logging calls according to the implementation
2022-04-12 06:19:42 +12:00
Reilly Wood
57761149f4
Update incorrect crate descriptions ( #5159 )
2022-04-12 06:17:06 +12:00
Stefan Holderbach
625e807a35
Support unbinding a particular key event ( #5152 )
...
To remove a default keybinding for a particular edit mode, set the `event: null`:
e.g. to disable screen clearing with Ctrl-L
```
let $config = {keybindings: [{
modifier: control
keycode: char_l
mode: [emacs, vi_normal, vi_insert]
event: null
} ]}
```
2022-04-10 23:54:09 +02:00
Stefan Holderbach
d18f34daa4
Allow overriding of menu keybindings ( #5148 )
...
Keybindings that were attached to menus like `Ctrl-x` or `Ctrl-q` could not be replaced with custom bindings
2022-04-10 22:48:55 +02:00
Reilly Wood
58f395989a
Remove unused dependencies ( #5145 )
...
* Remove unused packages from base Cargo.toml
* Remove unused crossterm_winapi from nu-cli
* Remove unused dependencies from nu-system
* Remove unused dependencies from nu-test-support
2022-04-10 09:14:55 +12:00
Hristo Filaretov
683b912263
Track call arguments in a single list ( #5125 )
...
* Initial implementation of ordered call args
* Run cargo fmt
* Fix some clippy lints
* Add positional len and nth
* Cargo fmt
* Remove more old nth calls
* Good ole rustfmt
* Add named len
Co-authored-by: Hristo Filaretov <h.filaretov@protonmail.com>
2022-04-09 14:55:02 +12:00
JT
5afd45414e
Revert "nu-cli/completions: cache layer for fetching ( #5114 )" ( #5132 )
...
This reverts commit e86c1b118e
.
2022-04-08 21:48:27 +12:00
Michel Alexandre Salim
6ed033737d
Include license text in all crates ( #5094 )
...
* Include license text in all crates
Three crates already have license texts, so I'm keeping them, but
symlinking the `LICENSE` from the top level to the rest of the crate
directories. This works as long as `cargo publish` is done on a Unix-y
system and not Windows.
Also bump the copyright year to end in 2022.
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
* Replace symlinks
Co-authored-by: sholderbach <sholderbach@users.noreply.github.com>
2022-04-08 10:47:13 +02:00
Fernando Herrera
6b4cb8b0e0
short descriptions ( #5130 )
2022-04-08 07:57:39 +01:00
Herlon Aguiar
48fa25fd42
nu-cli/completions: removed default filter for command ( #5126 )
2022-04-07 18:45:04 -05:00
Herlon Aguiar
e86c1b118e
nu-cli/completions: cache layer for fetching ( #5114 )
2022-04-08 07:36:16 +12:00
Herlon Aguiar
5e177fe8e7
nu-cli/completions: fix file completions filtering ( #5122 )
2022-04-08 07:31:56 +12:00
JT
ef1934a7ee
Remove external name exceptions ( #5115 )
2022-04-07 14:01:31 +12:00
Herlon Aguiar
c3bed1352a
nu-cli/completions: prioritize non hidden folders ( #5108 )
2022-04-06 16:56:43 +01:00
Fernando Herrera
3ceb39c82c
use arc to avoid cloning entire engine for menus ( #5104 )
...
* use arc to avoid cloning entire engine for menus
* remove complete import path
* remove stack clone
* reference in completer
2022-04-06 13:25:02 +01:00
Herlon Aguiar
13869e7d52
nu-cli: refactor completions ( #5102 )
2022-04-06 19:58:55 +12:00
Fernando Herrera
fa6ed7a40b
allow record as text style ( #5092 )
2022-04-04 22:36:48 +01:00
sholderbach
80f21d37e0
Update reedline to mut Completer API
2022-04-04 23:35:31 +02:00
JT
abe028f930
Add raw strings, use raw strings for env ( #5090 )
2022-04-05 08:42:26 +12:00
Herlon Aguiar
ef1cf7e634
feature: Add some context to completions ( #5078 )
...
* send current line and position
* copy current line
* fix error
* deleted test completion
2022-04-05 06:31:40 +12:00
Fernando Herrera
608b6f3634
Generic menus ( #5085 )
...
* updated to reedline generic menus
* help menu with examples
* generic menus in the engine
* description menu template
* list of menus in config
* default value for menu
* menu from block
* generic menus examples
* change to reedline git path
* cargo fmt
* menu name typo
* remove commas from default file
* added error message
2022-04-04 15:54:48 +01:00
Reilly Wood
a86e6ce89b
Set LAST_EXIT_CODE on parse error ( #5084 )
2022-04-04 06:11:27 -05:00
JT
80c9888f82
Add command descriptions to completions ( #5063 )
2022-04-02 08:18:11 +13:00
Fernando Herrera
a088081695
update reedline ( #5062 )
2022-04-01 19:22:40 +01:00
JT
1d2d31580b
Allow strings for prompt env vars ( #5052 )
2022-04-01 12:00:50 +13:00
Stefan Holderbach
2193910579
Update reedline to new constructor API ( #5051 )
2022-04-01 11:16:28 +13:00
Stefan Holderbach
0986c61a5d
Lift line editor construction out of loop ( #5041 )
...
Enables the use of some features on reedline
- Keeping the line when clearing the screen with `Ctrl-L`
- Using the internal cut buffer between lines
- Submitting external commands via keybinding and keeping the line
Additional effect:
Keep the history around and do basic syncs (performance improvement
minimal as session changes have to be read and written)
Additional change:
Give the option to defer writing/rereading the history file to the
closing of the session ($config.sync_history_on_enter)
2022-03-31 23:25:48 +02:00
Darren Schroeder
05f7d7d38b
finish hooking up completion descriptions ( #5047 )
2022-03-31 11:13:16 -05:00
Fernando Herrera
385bc40627
evaluate indicators as commands ( #5026 )
...
* evaluate indicators are commands
* default strings in config
* default multiline
* removed build string command
2022-03-31 06:22:55 +01:00
JT
0afa18ac4a
Use real stack during custom completion ( #5010 )
2022-03-29 06:49:41 +13:00
JT
a87f53072a
See if levenshtein sorting feels goofor completions ( #5001 )
2022-03-28 13:31:31 +13:00
JT
911fba8a8a
Help menu improvements ( #4997 )
...
* Help menu improvements
* default config
2022-03-27 15:21:40 -05:00
Fernando Herrera
a4410fef40
Help menu ( #4992 )
...
* nu-completer with suggestions
* help menu with scrolling
* updates description rows based on space
* configuration for help menu
* update nu-ansi-term
* corrected test for update cells
* changed keybinding
2022-03-27 14:01:04 +01:00
Darren Schroeder
ee5064abed
Nu ansi term update ( #4988 )
...
* WIP: Testing 0.45.1 nu-ansi-term with the new Default colors
* point reedline to git in cargo.toml
2022-03-27 16:57:31 +13:00
JT
82e3bb0f38
Bump nushell to 0.60.1 ( #4987 )
2022-03-27 16:18:47 +13:00
JT
19fa41b114
Fix single quote environment values ( #4960 )
...
* Fix single quote external values
* Try to fix windows
* fix test
* fix test
2022-03-26 09:14:48 +13:00
JT
81e269c483
Update Cargo.toml
2022-03-23 09:44:03 +13:00
JT
ec5fd62f9f
Add licenses ( #4893 )
...
* Add licenses
* Add licenses
2022-03-23 09:25:38 +13:00
JT
1c964cdfe7
Bump to 0.60 ( #4892 )
...
* WIP
* semi-revert metadata change
2022-03-23 07:32:03 +13:00
JT
983d115bc0
Add an alias denylist for expansions ( #4871 )
2022-03-19 08:03:57 +13:00
Darren Schroeder
6700fbeed7
rename update
to upsert
to mirror what it really does ( #4859 )
...
* rename `update` to `upsert` to mirror what it really does
* change to latest reedline and nu-ansi-term
2022-03-16 19:13:34 -05:00
Darren Schroeder
ca12f39db3
added nu-utils
crate, fixed issue where externals turn off vt processing ( #4857 )
...
* added `nu-utils` crate, fixed issue where externals turn off vt processing
* hopefully make work in non-windows environments
* clippy
2022-03-16 17:21:06 -05:00
Charles Dixon
1a16b9a2c4
Move repl loop and command/script execution to nu_cli ( #4846 )
...
* Refactor usage of is_perf_true to be a parameter passed around
* Move repl loop and command/script execution to nu_cli
* Move config setup out of nu_cli
* Update config_files.rs
* Update main.rs
Co-authored-by: JT <547158+jntrnr@users.noreply.github.com>
2022-03-17 07:17:06 +13:00
JT
9abb14b5fd
ensure exit codes in more cases ( #4803 )
2022-03-10 06:29:23 -05:00
JT
12bf23faa6
Move completions to DeclId ( #4801 )
...
* Move completions to DeclId
* fmt
* fmt
2022-03-10 09:49:02 +02:00
JT
299fea8538
Fix external extra ( #4777 )
...
* Fix empty table from externals
* Fix empty table from externals
2022-03-07 20:17:33 -05:00
JT
e64ca97fe2
move scope variable into nu variable ( #4725 )
2022-03-04 11:36:11 -05:00
Genna Wingert
47d5501f9f
Add aliases to command completions ( #4708 )
2022-03-03 15:07:13 -05:00
JT
7d0531d270
Add support for escape characters, make nuon a JSON superset ( #4706 )
...
* WIP
* Finish adding escape support in strings
* Try to fix windows
2022-03-03 13:14:03 -05:00
Genna Wingert
13f2048ffb
Add completion options for custom completions ( #4674 )
...
* Add completion options for custom completions
* Make clippy happy
* Refactor options for clarity
* Make return type of filtering explicit
2022-03-03 09:45:35 -05:00
JT
96a1bf5f8d
Experiment: Allow both $true/true and $false/false ( #4696 )
...
* Change true/false to keywords
* oops, clippy
* Both kinds of bools
* Add in some boolean variables
* disable py virtualenv test for now
2022-03-02 19:55:03 -05:00
JT
4965f4cbf4
Bump to 0.59.1 ( #4689 )
2022-03-01 16:55:51 -05:00
JT
a6a96b29cb
Add binary literals ( #4680 )
2022-02-28 18:31:53 -05:00
Stefan Holderbach
799fa98411
Update reedline, revert crossterm ( #4657 )
...
At the moment `crossterm` apparently has a regression decoding certain important key combinations on Windows.
Thus reedline reverted to the previous version.
Some changes are necessary to remove the need for `crossterm` in the use of `lscolors`.
Introduces two local conversion traits.
Additionally update the `Highlighter` API to support the cursor
position.
This will enable brace/statement match highlighting.
2022-02-26 11:23:05 -06:00
JT
0c3ea636fb
Add support for stderr and exit code ( #4647 )
2022-02-25 14:51:31 -05:00
JT
3c62d27c28
Try again with math-like externals ( #4629 )
...
* Try again with math-like externals
* clippy 1.59
* clippy 1.59
* clippy 1.59
2022-02-24 14:02:28 -05:00
JT
4b18fdcc6e
Date literals ( #4619 )
...
* Date literals
* update deps
* Add date+duration
2022-02-23 21:02:48 -05:00
JT
9888f8f298
Add pipeline redirection support ( #4594 )
...
* redirection
* Remove commented-out
* fix tests
* more fixes
2022-02-21 17:22:21 -05:00
JT
a96f8b891e
more strict nuon handling, better nuon errors ( #4576 )
...
* more strict nuon handling, better nuon errors
* Improve errors a bit more
2022-02-20 22:31:50 -05:00
JT
6024a17a5b
Remove stray println ( #4568 )
...
* Default config improvements
* Finish cleanup
* Add some comments
* remove println
2022-02-20 09:41:16 -05:00
JT
643c5097d6
Default config improvements ( #4565 )
...
* Default config improvements
* Finish cleanup
* Add some comments
2022-02-20 07:48:46 -05:00
JT
f085bd97f6
Add some more builtin var completions ( #4540 )
2022-02-18 14:34:40 -05:00
Jakub Žádník
c893cc1485
Add config to NuCompleter ( #4538 )
2022-02-18 13:54:13 -05:00
JT
06f9047be4
Add an explicit 'print' command ( #4535 )
2022-02-18 13:43:34 -05:00
JT
56b3fc61a3
Remove statements, replaced by pipelines ( #4482 )
2022-02-15 14:31:14 -05:00
JT
eceb2d5106
Early return on subcommands ( #4443 )
...
* Early return on subcommands
* More streamlining
2022-02-12 11:39:38 -05:00
JT
cc171b6ad4
Improve completions with no starting characters ( #4433 )
...
* Improve completions with no starting characters
* Fix subexpressions, crashes, and differentiate externals
2022-02-12 10:04:10 -05:00
JT
a16e485cce
Add support for defining known externals with their own custom completions ( #4425 )
...
* WIP for known externals
* Now completions can work from scripts
* Add support for definiing externs
* finish cleaning up old proof-of-concept
2022-02-11 13:38:10 -05:00
JT
a767fa369c
Improve quote path completions with drill-down ( #4422 )
2022-02-11 09:42:15 -05:00
JT
e16d6ae00c
Improve external command completions with spaces ( #4420 )
2022-02-11 07:05:48 -05:00
JT
d70d91e559
Remove old nushell/merge engine-q
2022-02-07 14:54:06 -05:00
Fernando Herrera
fdce6c49ab
engine-q merge
2022-02-07 19:11:34 +00:00
JT
de4449c3ee
Fix completion duplicates ( #964 )
2022-02-06 16:33:33 -05:00
JT
522a53af68
Add support for quick completions ( #927 )
2022-02-04 10:30:21 -05:00
JT
1a246d141e
Improve subcommand completions ( #926 )
2022-02-04 08:38:23 -05:00
JT
e11ac9f6f8
Harden highlighter against alias spans ( #867 )
2022-01-28 07:29:45 -05:00
Fernando Herrera
267ff4b0cf
using menu trait ( #861 )
2022-01-27 07:53:23 +00:00
Fernando Herrera
69954a362d
history-menu ( #846 )
2022-01-25 09:39:22 +00:00
JT
3d0b1ef1ce
Highlight help tutor ( #838 )
...
* WIP
* Syntax highlight help, add tutor
2022-01-25 02:05:19 +11:00
JT
310ecb79b6
Add flag completions ( #817 )
2022-01-22 16:18:31 -05:00
Fernando Herrera
846a048bba
menu-performance ( #793 )
2022-01-21 08:59:29 +00:00
Darren Schroeder
65ef7b630b
PATH
for completions for each os (#784 )
2022-01-20 13:46:52 -05:00
JT
33ffb2c39a
Add which
command, add external completions, and builtin var completions ( #782 )
...
* Add which and external completions
* WIP
* Finish up external and var completions
* fix windows
2022-01-21 05:02:53 +11:00
Michael Angerman
d4b6b4b09a
update all cargo crates to edition 2021 ( #781 )
2022-01-21 00:13:45 +11:00
JT
49e8af8ea5
Bump to 0.43 ( #4264 )
2022-01-18 12:06:12 -05:00
JT
f562a4526c
Fix clippy lints ( #4262 )
...
* Fix clippy lints
* Fix clippy lints
* Fix clippy lints
2022-01-18 23:33:28 +11:00
Fernando Herrera
47495715a6
context menu with nucompleter ( #722 )
2022-01-11 21:53:42 +00:00