Commit graph

2019 commits

Author SHA1 Message Date
dev2718
404cbf5452
fix #4638 (#4640)
Co-authored-by: Alexander Firbas <alexander.firbas@gmail.com>
2022-01-14 08:57:08 -05:00
dev2718
cee33bbd7e
fix #4637 (#4639)
Co-authored-by: Alexander Firbas <alexander.firbas@gmail.com>
2022-01-13 09:33:41 -05:00
Noortheen Raja
0957c2d7eb feat: add env variable for sys level config dir
feat: add $XONSH_COMPLETER_DIRS

feat: implement path based completers

style:
2022-01-11 11:24:54 -05:00
Noorhteen Raja NJ
039294c362
Xompletions (#4521)
* feat: add command completers logic

* feat: implement xompleter logic

* fix: handle callable object in exception

* chore: add xompletions package to setup.py

* fix: update tests for changes to command completer logic

* docs:

* fix: qa errors

fixes #4514

* feat: add xonsh completions

* refactor: split module matcher to separate class

* feat: add django-admin completions

* fix: failing tests

* feat: add more properties to completion-context

* refactor: cleanup code

* todo item add
2022-01-10 11:21:22 -05:00
Hierosme
343ea33998
Add uname command, Update uptime comand (#3909)
* Add uname support

* Changelog addition

* Migration to platform module

* Update uptime.py for the last version
Merge the original uptime module to a single file
Change the bootime() return be stay compatible with xonsh
Add support for Haiku , suppose to close #3882
Add dependency from uptime to support to MacOS 10.10 by add _posix.c file.

* Update uptime.py for the last version
Merge the original uptime module to a single file
Change the bootime() return be stay compatible with xonsh
Add support for Haiku , suppose to close #3882
Add dependency from uptime to support to MacOS 10.10 by add _posix.c file.

* typo fix

* black reformat

* remove usage of print

* black is black

* add original test for uptime
convert original test via 2to3
black reformat tests

* strange syntaxe fixe for flaske8

* black the incredible tool it stop a bug fixe just because it THE tool it want a return for make less readable code

* flake8 the famous tool it permit to stop a big fixe without any information's about the trouble

* workaround about xonsh CI don't respect docstring specs

* RISC OS only comment thing

* black is a good jock in a CI

* black is a good jock in a CI

* roll back uptime.py

* look if we can make it work

* fixe all i understand

* add command in corutils alias

* reformat uptime.py with black

* fixe version

* try with xonsh xp.LIBC lib

* black in a CI is a stupid thing

* stupid Windows and it \r

* use os.linestep

* use newline simple wrapper

* use newline simple wrapper

* use newline simple wrapper

* use newline simple wrapper

* try osx rollback method

* fixe

* fixe

* a test on window via the CI because i haven't the OS

* a test on window via the CI because i haven't the OS

* a test on window via the CI because i haven't the OS

* fix: black: format

* refactor: update uname command

now has auto-completions

* docs: update news item and fix qa error

* refactor: remove unused file

* fix: qa imports

* refactor: update getting boottime

fallback to monotonic time on unix

* fix: update haiku compatibility in uptime

* refactor: add uptime to aliases

* refactor: move xoreutils tests

* fix: call aliases using xonsh

Co-authored-by: Tuux <tuxa@rtnp.org>
Co-authored-by: Noortheen Raja <jnoortheen@gmail.com>
2022-01-08 18:28:46 +05:30
Noorhteen Raja NJ
70dd8bf24b
fix: remove custom handling of osc tokens for ptk prompt (#4629)
https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/examples/prompts/finalterm-shell-integration.py

fixes #374
2022-01-07 17:34:52 -05:00
Peter Ye
b6c61e3343
Fix unpacking of dictionaries inside a dictionary (#4624) 2022-01-07 04:51:06 +05:30
Noorhteen Raja NJ
c01fc6efe3
refactor: do not override sys coreutils (#4617)
* refactor: do not override sys coreutils

* docs:
2022-01-05 09:44:53 -05:00
Peter Ye
8bf47f29be
ast: do not descend into any comprehensions (#4622)
* ast: do not descend into any comprehensions

* add test

* add news
2022-01-05 09:35:50 -05:00
Noortheen Raja
f5367f6083 feat: add upgrade command
fixes #2095
2021-12-23 06:32:47 +05:30
Noorhteen Raja NJ
c524028a78
fix: prompt getting git branch (#4607)
fixes #4450
2021-12-21 17:28:02 +05:30
Angus Hollands
5091c8368e
Refactor: make session loading explicit (#4540)
* Refactor: Don't modify XSH in Execer

This is not an invariant change - the __del__ method of the execer now does not unload the session. This is probably what we want - the session should be the final arbiter of when it goes out of scope, and we might need an explicit mechanism to handle this.

* Refactor: make import hook Execer explicit

This is ugly for now, but helps raise the global state modifications to the surface

* Style: run black

* Refactor: add `update_cache` to `CommandsCache`

Previously a lot of internal usage of `all_commands` was for the updating side-effect. Now we make that a separate routine.

* Refactor: remove args from XonshSession constructor

* Refactor: move non stateful XonshSession methods to __init__

* Refactor: don't create custom class for namespace

* Refactor: auto-generate set of default builtins

* Refactor: set session attributes to None in constructor

* Refactor: don't test hasattr for known attribute

* Refactor: add methods to restore and disable Python exit

* Refactor: add initial value for XSH.aliases

* Refactor: don't default getattr for known attribute

* Refactor: make _lastflush a closer and move to `load()`

* Fix: catch $path even if empty.

This shouldn't ever actually manifest itself, but whilst we're here!

* Refactor: support existing usage of install_import_hooks

* Style: run black

* Refactor: remove unneeded import

* Docs: add news item

* Fix: news item

* Refactor: remove unused arg

* docs: fix news item

* fix: no duplicate calls

add helpers properties to completion-context

* refactor: importing a module should not affect the session

the user has to have XSH loaded before

* fix: todo item for testing imphooks

Co-authored-by: Noortheen Raja <jnoortheen@gmail.com>
2021-12-21 13:07:53 +05:30
Noorhteen Raja NJ
888cb819c9
history transfer (#4604)
* refactor: update `history gc` cli usage

* feat: added `history transfer` command

cli-utils now provides hook to parser.add_argument call

* test: test refactor

* docs:

* fix: mypy error

* fix: remove debug line
2021-12-20 08:36:29 +05:30
Evan Hubinger
8fc3e1f5f6
Fix OSError on Windows with GnuWin32 (#4599)
* Fix OSError on Windows

* Clean up PR
2021-12-16 16:09:52 -05:00
Noorhteen Raja NJ
5a985427e7
feat: add sub-command to print current completions (#4586)
* feat: `completer complete` command is added to test current completions

* fix: tests
2021-12-12 08:47:47 +05:30
Angus Hollands
31978e7c61
Fix: support Conda environments when running on non-conda interpreter (#4532)
* Fix: support Conda environments when running on non-conda interpreter

* Chore: remove unused import

* Docs: add news item

* Update fix-conda-env-system.rst

* Update fix-conda-env-system.rst

Co-authored-by: Noorhteen Raja NJ <jnoortheen@gmail.com>
2021-12-10 10:18:16 +05:30
Noorhteen Raja NJ
7ee5b26064
feat: update command completions to show description as well (#4488)
* feat: update command completions to show description as well

closes #3823

* test: fix failing tests on windows

* fix: failing tests on windows machine
2021-12-07 10:33:41 -05:00
Noorhteen Raja NJ
9a8cc74c4b
refactor: remove xonsh.ptk2 module (#4570) 2021-11-30 08:22:31 -05:00
Noorhteen Raja NJ
adafa20b88
adopt NEP-0029 (#4568)
* chore: adopt NEP-0029 for py version deprecation policy

fixes #4560

* chore: drop py3.6 from CI

* docs: add news item

* fix: failing qa because latest version to flake8-bugbear

see https://github.com/PyCQA/flake8-bugbear/issues/208

* chore: require >=py3.7
2021-11-29 12:48:48 -05:00
Noorhteen Raja NJ
73609bf87a
feat: option to show only longest/descriptive arg-completions (#4483) 2021-11-29 10:56:20 -05:00
Noorhteen Raja NJ
b031047beb
add fish shell based completer (#4569)
* feat: add fish shell based completer

* refactor: use filter-func to filter results
2021-11-29 21:02:32 +05:30
Noorhteen Raja NJ
0053d55e3d
feat: auto-completion support for source-foreign (#4564)
* feat: auto-completion support for source-foreign

* feat: add completions for source-bash/zsh/cmd

* refactor: change the boolean flags names that defaults to True
2021-11-27 16:28:04 +05:30
Noorhteen Raja NJ
6d756ef7c9
Vox improvements (#4549)
* refactor: confirm before deleting the folder

fix: failing tests

* feat: shorter positional argument which is optional

cli-utils

* refactor: vox-default interpreter from system's default

* feat: add new vox commands info, wipe

* feat: add new vox commands toggle-ssp, runin, runinall

* feat: add new vox commands toggle-ssp, runin, runinall

* feat: add new vox commands project-set, project-get

* feat: implement vox new 'pip installs/requirements' and project linking

* test: update failing tests
2021-11-26 23:37:35 +05:30
omjadas
a49a538ab2
Simplify foreign functions (#4393)
* chore: simplify foreign functions

* fix: sourcing multiple foreign files

* refactor: address review comments

* Update docs/aliases.rst

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>

* refactor: run black

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
2021-11-23 17:01:42 -05:00
Noorhteen Raja NJ
5f0ec33447
Ap/aliases completer (#4486)
* feat: create field to define alias-completer

this will resolve checking parser or alias. Now the alias can define how
it completes.

will solve
https://github.com/xonsh/xonsh/pull/4267#discussion_r676066853

* docs:

* fix: mypy error

* fix: rst qa

* style:
2021-11-23 12:34:12 -05:00
mattmc3
4edac0bb3f
New xontribs (#4544)
* Add xontrib-up

* Add xontrib-default-command

* Add news for new xontribs
2021-11-23 04:09:21 +05:30
Evgeny
3d753ea3be
Add Sublime Text 4 extension to the Editors page (#4552) 2021-11-23 04:06:48 +05:30
Angus Hollands
99bdf5600a
Fix: don't display welcome if $XONSHRC_DIR member is found (#4531)
* Fix: don't display welcome if $XONSHRC_DIR member is found

* Docs: add news item

* Update news/fix-xonshrc-dir-welcome.rst

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>

* Lint: black

* Update news/fix-xonshrc-dir-welcome.rst

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
2021-11-18 12:42:29 -05:00
Gil Forsyth
337cf25a40 Updated CHANGELOG for 0.11.0 2021-11-17 15:37:41 -05:00
Eleni E
a558f9cf47
Add quotes in autocomplete when filename contains brackets (#4528) 2021-11-17 13:58:09 -05:00
Kaarel Pärtel
8da06b4446
fix: escape curly braces for the prompt cwd (#4511)
If a directory was named for example '{RED}', that would get
interpreted as a color string and the prompt would not show the
direcotry name and would color it instead. Using dir names like
'{{foo}}' or simply '{' would break the prompt outright.

There was not much documentation on the prompt formating, but it seems
that escaping a curly by doubling it makes the prompt display all
curlies correctly.

fixes #4381
2021-11-17 13:39:28 -05:00
Vasilis Gerakaris
e762dc57ab
fix: handle None value on XSH.env if UPDATE_OS_ENVIRON is set` (#4507) 2021-10-15 12:27:34 -04:00
Vasilis Gerakaris
3457d7263f
refactor: display meaningful message when running xonsh -c "xonfig colors" (#4508)
Closes #4376.
2021-10-15 09:06:34 -04:00
Vasilis Gerakaris
a5fcfba8be
fix: implement __hash__ method for Env (#4512)
Allows caching in `lru_cache` for `tools.suggest_commands()`

Closes #4510
2021-10-14 17:00:39 -04:00
Noorhteen Raja NJ
20ef5a033c
Ap/trace (#4453)
* feat: use argparser-alias for trace

* test: add test for trace cli

* fix: qs

* fix: update import path

* docs:
2021-10-13 10:04:59 -04:00
Noorhteen Raja NJ
a3c1b2429e
argparserAlias - vox (#4437)
* feat: use argparser-alias for vox

* feat: vox.create --interpreter completions

* refactor: use func based completer

* fix: implement interpreter completion

* docs:

* refactor: update import path of cli_utils

* style: convert to f-strings

* fix: failing tests

* fix: failing tests

completer from base_completer appears
2021-10-13 10:02:06 -04:00
Gil Forsyth
1780ba63e3
Fix for fromdircolors crash on Windows (#4502) 2021-10-12 09:45:38 -04:00
Gabriele N. Tornetta
0a2ba6ca89
perf(readers): use mutable buffers (#4498)
This change uses the mutable bytearray to append bytes
from a queue for better performance.
2021-10-07 11:31:51 -04:00
Gabriele N. Tornetta
096926d6c8
perf: cache suggested commands (#4497)
Calls to `suggest_commands` would result in repeated calls to
the Levenshtein distance routine, which whilst optimally
implemented is still expensive. The change proposes to cache the
result instead.
2021-10-07 11:22:51 -04:00
Shanmukha Vishnu
18261c3ace
Fix #4467 (#4500)
* Fix #4467

Fix for Crash with FileNotFoundError when current working directory is deleted

* Fix #4467

Fix for Crash with FileNotFoundError when current working directory is deleted

* Fix #4467

FIx #4467

* Fix #4467

* Fix #4467

* Fix #4467
2021-10-05 10:08:56 -04:00
Noorhteen Raja NJ
e9688e013d
fix: not enough space for completions (#4477)
* fix: not enough space for completions

* discussion update

* docs:
2021-10-05 09:58:29 -04:00
Alexander Sosedkin
c0a2673541
feat: style gitstatus separator (#4492) 2021-09-30 11:15:27 -04:00
Noorhteen Raja NJ
33a5689db2
feat: improve pip completer (#4476)
* feat: improve pip completer

* refactor: optimize imports

* fix: update tests for other completers

* fix: failing tests

* test: fix failing tests

* refactor: make error message clear

exception like KeyError will be more clear now

* qs import

* fix: failing tests on windows

* fix: failing tests on windows

* fix: failing tests on windows

* refactor: optimize imports
2021-09-26 11:33:09 -04:00
Noorhteen Raja NJ
fd5911f1a1
feat: add new environment variable to customize tracing (#4300)
* feat: add new environment variable to customize tracing

* fix: failing integration tests

trace variable set from runner

* refactor: rename the variable to XONSH_TRACE_SUBPROC_FUNC

* Update xonsh/procs/specs.py

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
2021-09-17 09:55:59 -04:00
Daniel Shimon
7ce53f1844
Always capture aliases (#4445)
* specs: Make sure sub-specs are always captured regardless of $XONSH_CAPTURE_ALWAYS

* procs: Ensure env is used in functional aliases

* news: Add always-capture-aliases

* tests: procs: Skip known issues

* tests: Restore all builtins in the 'xonsh_builtins' fixture

* tests: vc: Use monkeypatch to mock CommandsCache functions

* tests: main: Don't use the local machine's xonshrc
2021-09-15 15:14:28 -04:00
Michael Ramsey
c04a0997ed
Fix: EnvPath.add() not maintain uniqueness with Path objects on replace (#4461)
* Fix: EnvPath.add() not maintain uniqueness with Path objects on replace

* Update tools.py

Removed commented out code left in originally

* Add tests for EnvPath.add() function

* Add test for EnvPath.add() function with pathlib path

* Update tests for EnvPath.add() function to support winblows paths

* Fix xontribs meta page so github links clickable and one minor typo

* Update xonsh/xontribs_meta.py

updated as requested

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>

Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
2021-09-14 12:54:18 -04:00
Daniel Shimon
438c66dfc0
Env swap thread safety (#4465)
* environ: Implement InternalEnvironDict for thread-local overrides

* environ: Make `swap` thread-safe without leaks

Use thread-local storage to override the changes.
This way the changes can't leak to other threads.

* environ: Implement 'get/set_swapped_values' to pass to threads

* procs: Use swapped values in threaded subprocs

This is so the thread will use the same swapped values as the origin one.

* news: Add env-swap-thread-safety
2021-09-13 11:06:55 -04:00
Daniel Shimon
6df8a24fc9
Path completion in python code (#4457)
* completions: path: Fix completing a single-arg python code segment

* tests: completions: path: Test completing python code

* news: Add path-completion-in-python-code
2021-09-07 01:23:49 +03:00
Noorhteen Raja NJ
89f54ee10a
Ap/history (#4454)
* feat: use ArgParserAlias for history command

* feat: cli-utils: support parsing unknown args

* feat: use _unparsed for getting history slices

* fix: use show cmd as default

* fix: update history-diff to allow new format

* fix: make sure that history files are flushed

* fix: remove unused imports

* docs:

* fix: annotation error in older py versions

* refactor: split dispatch function
so that one can intervene before final call

* fix: py3.6-7 has no mock.call_args.kwargs properties

* fix: update _dispatch_func signature

* test: update tests for history-show parser

* fix: amalgam different import path

* fix: cli_utils not amalgamated

when importing as `from xonsh.cli_utils import ...` it is not lazy
loading
2021-09-06 21:38:37 +03:00
Noorhteen Raja NJ
9db8cc4591
Lab/lazy shell attrs (#4429)
* feat: async-prompt lazy load styles

around 0.15sec is offloaded to threads

* docs:

* fix: optimize imports
2021-09-05 23:39:23 +03:00