Commit Graph
100 Commits
Author SHA1 Message Date
MartinGC94 21f88b50f4 Fix infinite loop crash in variable type inference (#25696) 2025-06-30 16:22:49 -04:00
MartinGC94 038003408e Quote bare quote file paths if the path includes a double quote character (#25631) 2025-06-09 10:23:17 +05:00
MartinGC94 e7ee9da1ea Remove duplicate modules from completion results (#25538) 2025-05-12 08:18:11 +05:00
MartinGC94 957eb1b279 Add completion for variables assigned in ArrayLiterals and ParenExpressions (#25303) 2025-05-08 18:17:40 +05:00
MartinGC94 2fc4821e53 Revert "Allow empty prefix string in 'Import-Module -Prefix' to override default prefix in manifest (#20409)" (#25462) 2025-04-28 08:34:49 +05:00
MartinGC94 0c96975d1e Exclude outvariable assignments within the same CommandAst when inferring variables (#25224) 2025-03-26 18:00:46 +00:00
MartinGC94 dea739cf99 Fix infinite loop in variable type inference (#25206) 2025-03-26 07:53:08 +05:00
MartinGC94 1ac3ff15ac Add tooltips for hashtable key completions (#17864) 2025-03-25 05:14:24 +00:00
MartinGC94 0ca17fdacd Fix type inference of parameters in classic functions (#25172) 2025-03-18 13:23:49 +05:00
MartinGC94 1edd258e3b Improve assignment type inference (#21143) 2025-03-18 09:48:11 +05:00
MartinGC94 becdd61b3c Improve variable type inference (#19830) 2025-03-13 10:04:02 +00:00
MartinGC94 f7ae4229dc Fix parameter completion when script requirements fail (#17687) 2025-03-07 04:26:03 +00:00
MartinGC94 d820692939 Improve the completion for attribute arguments (#25129) 2025-03-06 13:09:40 +00:00
MartinGC94 650189e603 Fix completion that relies on pseudobinding in script blocks (#25122) 2025-03-05 19:42:29 +00:00
MartinGC94 6661f6f100 Don't complete duplicate command names (#21113) 2025-03-04 12:57:39 +00:00
MartinGC94 33ed509ca4 Add type inference for functions without OutputType attribute and anonymous functions (#21127) 2025-02-28 17:48:59 +00:00
MartinGC94 2c769d65e3 Add completion for variables assigned by command redirection (#25104) 2025-02-28 18:13:38 +05:00
MartinGC94 6fbd8ba1dd Handle type inference for redirected commands (#21131) 2025-02-28 04:20:25 +00:00
MartinGC94 b8ed5be26d Allow empty prefix string in 'Import-Module -Prefix' to override default prefix in manifest (#20409) 2025-02-27 17:40:40 +00:00
MartinGC94 7290494cd9 Update variable/property assignment completion so it can fallback to type inference (#21134) 2025-02-27 09:34:26 +00:00
MartinGC94 bdf04006f2 Use Get-Help approach to find 'about_*.help.txt' files with correct locale for completions (#24194) 2025-02-27 14:20:43 +05:00
MartinGC94 ca519c92ac Use script filepath when completing relative paths for using statements (#20017) 2025-02-27 08:52:59 +00:00
MartinGC94 c64a636d9b Fix completion of variables assigned inside Do loops (#25076) 2025-02-26 17:04:36 +05:00
MartinGC94 33d4bf5228 Fix completion of provider paths when a path returns itself instead of its children (#24755)
It is a workaround for Get-ChildItem behavior.
2025-02-26 12:01:29 +00:00
MartinGC94 502653d2c5 Enable completion of scoped variables without specifying scope (#20340) 2025-02-25 22:40:36 +05:00
MartinGC94 d6b5e5e13c Fix share completion with provider and spaces (#19440) 2025-02-25 12:02:56 +05:00
MartinGC94 a23e30bed3 Fix issue with incomplete results when completing paths with wildcards in non-filesystem providers (#24757) 2025-02-25 08:04:56 +05:00
MartinGC94 f47b14e7ff Improve the type inference for binary expressions (#25030) 2025-02-20 10:39:29 +05:00
MartinGC94 b565679961 Fix completion of variables with an attribute in the assignment (#25016) 2025-02-18 09:57:58 +00:00
MartinGC94 fd85f6c35a Use types from both sides of the pipeline chain for the type inference (#25031) 2025-02-18 05:44:28 +00:00
MartinGC94 9941e38c19 Remove trailing space from event source name (#24192) 2025-02-11 09:24:36 +05:00
MartinGC94 c066cd85aa Add ExcludeModule parameter to Get-Command (#18955) 2024-12-31 00:06:28 +05:00
MartinGC94 57dbde625f Update Named and Statement block type inference to not consider AssignmentStatements and Increment/decrement operators as part of their output (#21137) 2024-12-29 17:29:03 +05:00
MartinGC94 8cdb728b6b Add completion of modules by their shortname (#20330) 2024-12-28 13:20:26 +05:00
MartinGC94 22e8fed058 Write type data to the pipeline instead of collecting it (#24236) 2024-09-05 10:01:18 +05:00
MartinGC94 a8457f8631 Don't complete parameter name and class member declarations (#21182) 2024-04-15 15:52:37 -07:00
MartinGC94 aa97c515c8 Fall back to type inference when hashtable key value cannot be retrieved from safe expression (#21184) 2024-03-04 15:55:23 -08:00
MartinGC94 338d1dcfa1 Fix the regression when doing type inference for $_ (#21223) 2024-02-26 15:11:19 -08:00
MartinGC94 7ad403962c Add DirectoryInfo to the OutputType for New-Item (#21126) 2024-02-01 09:57:38 -08:00
MartinGC94 9da657e3a8 Fix completion crash for the SCCM provider (#20915) 2024-01-16 16:56:13 -08:00
MartinGC94 09509d2de3 Fix completion crash for the SCCM provider (#20815) 2023-12-08 15:22:11 -08:00
MartinGC94 6176fd3fcf Fix UNC path completion regression (#20419) 2023-10-16 15:43:48 -07:00
MartinGC94 050873fc28 Prevent fallback to file completion when tab completing type names (#20084) 2023-08-21 10:56:55 -07:00
MartinGC94 0502da7109 Fix dynamic parameter completion (#19510) 2023-07-31 17:52:50 -07:00
MartinGC94 3f128d680f Change how relative paths in Resolve-Path are handled when using the RelativeBasePath parameter (#19755) 2023-07-24 09:47:24 -07:00
MartinGC94 a8ec19b4f6 Fix completion regression for filesystem paths with custom PSDrive names (#19921) 2023-07-11 12:12:32 -07:00
MartinGC94 ac87d2ae0e Add completion for variables assigned by the Data statement (#19831) 2023-07-10 17:15:05 -07:00
MartinGC94 612857a38c Remove unused string completion code (#19879) 2023-07-10 12:32:21 -07:00
MartinGC94 c5cc8c8bbc Fix a null reference crash in completion code (#19916) 2023-07-10 12:31:27 -07:00
MartinGC94 15213d8494 Do not require activity when creating a completed progress record (#18474) 2023-06-19 16:20:08 -07:00
MartinGC94 994e43b1bf Fix TabExpansion2 variable leak when completing variables (#18763) 2023-06-19 15:48:59 -07:00
MartinGC94 0cbcf7b4d6 Enable completion of variables across ScriptBlock scopes (#19819) 2023-06-19 13:30:39 -07:00
MartinGC94 8b2de76eff Fix completion of the foreach-statement variable (#19814) 2023-06-19 10:20:13 -07:00
MartinGC94 f093f538fa Fix variable type inference precedence (#18691) 2023-06-12 10:38:17 -07:00
MartinGC94 79d99b501b Fix member completion for PowerShell Enum class (#19740) 2023-06-05 17:04:19 -07:00
MartinGC94 6520c05949 Fix parsing for array literals in index expressions in method calls (#19224) 2023-06-05 14:10:03 -07:00
MartinGC94 31dd6483b2 Fix incorrect string to type conversion (#19560)
Fixes incorrect string to type conversions like: [Type] 'int]whatever' so they are no longer parsed as types.
This was fixed by adding a check for ScanType to also check that the parsed type name matches the input type name.
2023-05-31 09:39:38 +05:00
06ab3b189d Improve path completion (#19489)
* Improve path completion

* Update src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs

Co-authored-by: Steve Lee <slee@microsoft.com>

* Address initial feedback from Steve and Paul

* Apply suggestions from code review

Co-authored-by: Paul Higinbotham <paulhi@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Ilya <darpa@yandex.ru>

* Apply suggestions from iSazonov.

* Add missing period to comment.

* Add comment explaining limitations of current approach.

* Correct some escaping issues and add tests

---------

Co-authored-by: Steve Lee <slee@microsoft.com>
Co-authored-by: Paul Higinbotham <paulhi@microsoft.com>
Co-authored-by: Ilya <darpa@yandex.ru>
2023-05-22 11:10:59 -07:00
MartinGC94 2e2b7db092 Fix wildcard globing in root of device paths (#19442) 2023-05-15 10:15:05 -07:00
MartinGC94 bb3c8a2819 Fix an indexing out of bound error in CompleteInput for empty script input (#19501) 2023-05-10 13:56:33 -07:00
MartinGC94 dc81491870 Improve variable completion performance (#19595) 2023-05-09 15:04:44 -07:00
MartinGC94 1c8b58c0b4 Fix array type parsing in generic types (#19205) 2023-05-08 16:21:51 -07:00
MartinGC94 5605b24b08 Improve Hashtable key completion for type constrained variable assignments, nested Hashtables and more (#17660) 2023-05-01 16:26:41 -07:00
MartinGC94 25651ef6e9 Fix a crash in the type inference code (#19400) 2023-03-23 14:40:50 -07:00
MartinGC94 48c9d68356 Add the parameter -RelativeBasePath to Resolve-Path (#19358) 2023-03-22 16:44:48 -07:00
MartinGC94 18f0c5ad4b Exclude redundant parameter aliases from completion results (#19382) 2023-03-22 08:58:15 +05:00
MartinGC94 8b964ded36 Speed up Resolve-Path relative path resolution (#19171) 2023-03-15 08:12:09 +05:00
MartinGC94 39d48f9c62 Infer external application output as strings (#19193) 2023-03-14 11:24:43 -07:00
MartinGC94 e6655d1f17 Fix completion for PSCustomObject variable properties (#18682) 2023-03-13 17:38:21 -07:00
MartinGC94 799eed8f57 Update and enable the test for the type of $input (#18968) 2023-03-13 16:17:28 -07:00
MartinGC94 0ae521b7b5 Improve type inference for Get-Random (#18972) 2023-03-13 15:44:38 -07:00
MartinGC94 0a11f799dc Add property assignment completion for enums (#19178)
* Add property assignment completion for enums

* Move method
2023-02-23 13:42:57 -08:00
MartinGC94 290fe28104 Fix class member completion for classes with base types (#19179) 2023-02-22 22:10:22 +05:00
MartinGC94 232384ce7f Prioritize the default parameter set when completing positional arguments (#18755) 2023-01-09 10:30:42 -08:00
MartinGC94 8f7c980ca3 Fix type inference for all scope vars (#18758) 2022-12-20 15:38:25 +05:00
MartinGC94 9a7db33ee0 Add completion for Using keywords (#16514) 2022-12-20 13:26:43 +05:00
MartinGC94 30d56b6586 Use Pattern matching in ast.cs (#18794) 2022-12-15 23:11:27 +05:00
MartinGC94 b6f83e7520 Add output types to Format commands (#18746) 2022-12-13 10:40:35 +05:00
MartinGC94 0a6de4672a Fix issue when completing the first command in a script with an empty array expression (#18355) 2022-11-07 17:14:49 -08:00
MartinGC94 b5ffd043c5 Improve type inference of hashtable keys (#17907) 2022-11-07 17:10:03 -08:00
MartinGC94 ab7f206271 Fix type inference error for empty return statements (#18351) 2022-10-24 14:39:34 -07:00
MartinGC94 fb9393e0cc Improve pseudo binding for dynamic parameters (#18030) 2022-09-12 11:34:15 -07:00
MartinGC94 a7559e0987 Add output type attributes for Get-WinEvent (#17948) 2022-08-23 06:17:33 +00:00
MartinGC94 4051e09796 Add completion for values in comparisons when comparing Enums (#17654) 2022-08-22 15:18:49 -07:00
MartinGC94 99c757ff3e Fix positional argument completion (#17796) 2022-08-22 15:17:55 -07:00
MartinGC94 1c5e14cf0f Fix member completion in attribute argument (#17902) 2022-08-22 13:38:21 -07:00
MartinGC94 15dcf634e2 Improve enumeration of inferred types in pipeline (#17799) 2022-08-09 10:37:56 -07:00
MartinGC94 3d4e294262 Improve type inference for $_ (#17716) 2022-07-25 11:27:23 -07:00
MartinGC94 8eb37cc44d Prevent braces from being removed when completing variables (#17751) 2022-07-25 11:17:26 -07:00
MartinGC94 5ccbb97ae3 Fix type inference for ICollection (#17752) 2022-07-25 11:15:19 -07:00
MartinGC94 76c713d7e6 Add completion for index expressions for dictionaries (#17619) 2022-07-20 03:56:35 +00:00
MartinGC94 84241c3c59 Fix parser exception in using statements with empty aliases (#16745) 2022-07-19 10:42:31 -07:00
MartinGC94 618b348cdb Fix type completion for attribute tokens (#17484) 2022-07-19 09:08:10 -07:00
MartinGC94 53adf5d5d4 Improve dynamic parameter tab completion (#17661) 2022-07-18 15:32:06 -07:00
MartinGC94 b06bcee10e Avoid binding positional parameters when completing parameter in front of value (#17693) 2022-07-18 14:28:04 -07:00
MartinGC94 81f492744d Fix tab completion regression (#17628) 2022-07-07 15:45:50 +05:00
MartinGC94 edac193cf0 Use discards for unused variables (#17620) 2022-07-05 14:26:51 -07:00
MartinGC94 4f6e574820 Improve type inference and completions (#16963) 2022-06-13 10:04:35 -07:00
MartinGC94 12a2c82d0e Fix various completion issues inside the param block (#17489) 2022-06-09 09:41:52 +05:00
MartinGC94 042765dd1c Improve completion on operators (#17486) 2022-06-06 14:28:04 -07:00