-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ES|QL] improve support for "invoke" autocomplete triggers #188677
Labels
Feature:ES|QL
ES|QL related features in Kibana
impact:high
Addressing this issue will have a high level of impact on the quality/strength of our product.
Team:ESQL
ES|QL related features in Kibana
usability
Comments
drewdaemon
added
usability
impact:high
Addressing this issue will have a high level of impact on the quality/strength of our product.
Feature:ES|QL
ES|QL related features in Kibana
Team:ESQL
ES|QL related features in Kibana
labels
Jul 18, 2024
Pinging @elastic/kibana-esql (Team:ESQL) |
drewdaemon
added a commit
that referenced
this issue
Jul 22, 2024
## Summary Part of #188677 Monaco editor has different [kinds of completion triggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html). However, the current tests only validate the "TriggerCharacter" events. This PR prepares the tests to support validating "Invoke" as well. **Note:** It does change many of the tests from a "TriggerCharacter" to an "Invoke" scenario. I think this is okay because - there are still plenty of "TriggerCharacter" tests - it would take a lot of work to update all the tests - I will be adding a full set of tests to cover both scenarios as part of #188677 - We may rely less and less on trigger characters in the future --------- Co-authored-by: kibanamachine <[email protected]> Co-authored-by: Stratoula Kalafateli <[email protected]>
1 task
drewdaemon
added a commit
to drewdaemon/kibana
that referenced
this issue
Jul 29, 2024
## Summary Part of elastic#188677 Monaco editor has different [kinds of completion triggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html). However, the current tests only validate the "TriggerCharacter" events. This PR prepares the tests to support validating "Invoke" as well. **Note:** It does change many of the tests from a "TriggerCharacter" to an "Invoke" scenario. I think this is okay because - there are still plenty of "TriggerCharacter" tests - it would take a lot of work to update all the tests - I will be adding a full set of tests to cover both scenarios as part of elastic#188677 - We may rely less and less on trigger characters in the future --------- Co-authored-by: kibanamachine <[email protected]> Co-authored-by: Stratoula Kalafateli <[email protected]> (cherry picked from commit 76c6f55) # Conflicts: # packages/kbn-esql-validation-autocomplete/src/autocomplete/__tests__/helpers.ts # packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts
drewdaemon
referenced
this issue
Jul 29, 2024
…189425) # Backport This will backport the following commits from `main` to `8.15`: - [[ES|QL] distinguish between trigger kinds in tests (#188604)](#188604) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Drew Tate","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-07-22T14:25:30Z","message":"[ES|QL] distinguish between trigger kinds in tests (#188604)\n\n## Summary\r\n\r\nPart of https://github.com/elastic/kibana/issues/188677\r\n\r\nMonaco editor has different [kinds of completion\r\ntriggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).\r\nHowever, the current tests only validate the \"TriggerCharacter\" events.\r\n\r\nThis PR prepares the tests to support validating \"Invoke\" as well.\r\n\r\n**Note:** It does change many of the tests from a \"TriggerCharacter\" to\r\nan \"Invoke\" scenario. I think this is okay because\r\n- there are still plenty of \"TriggerCharacter\" tests\r\n- it would take a lot of work to update all the tests\r\n- I will be adding a full set of tests to cover both scenarios as part\r\nof https://github.com/elastic/kibana/issues/188677\r\n- We may rely less and less on trigger characters in the future\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <[email protected]>\r\nCo-authored-by: Stratoula Kalafateli <[email protected]>","sha":"76c6f550dc5c945f1410bb53d54923c7363c7660","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","Feature:ES|QL","Team:ESQL","v8.15.0","v8.16.0"],"number":188604,"url":"https://github.com/elastic/kibana/pull/188604","mergeCommit":{"message":"[ES|QL] distinguish between trigger kinds in tests (#188604)\n\n## Summary\r\n\r\nPart of https://github.com/elastic/kibana/issues/188677\r\n\r\nMonaco editor has different [kinds of completion\r\ntriggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).\r\nHowever, the current tests only validate the \"TriggerCharacter\" events.\r\n\r\nThis PR prepares the tests to support validating \"Invoke\" as well.\r\n\r\n**Note:** It does change many of the tests from a \"TriggerCharacter\" to\r\nan \"Invoke\" scenario. I think this is okay because\r\n- there are still plenty of \"TriggerCharacter\" tests\r\n- it would take a lot of work to update all the tests\r\n- I will be adding a full set of tests to cover both scenarios as part\r\nof https://github.com/elastic/kibana/issues/188677\r\n- We may rely less and less on trigger characters in the future\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <[email protected]>\r\nCo-authored-by: Stratoula Kalafateli <[email protected]>","sha":"76c6f550dc5c945f1410bb53d54923c7363c7660"}},"sourceBranch":"main","suggestedTargetBranches":["8.15"],"targetPullRequestStates":[{"branch":"8.15","label":"v8.15.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.16.0","labelRegex":"^v8.16.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/188604","number":188604,"mergeCommit":{"message":"[ES|QL] distinguish between trigger kinds in tests (#188604)\n\n## Summary\r\n\r\nPart of https://github.com/elastic/kibana/issues/188677\r\n\r\nMonaco editor has different [kinds of completion\r\ntriggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).\r\nHowever, the current tests only validate the \"TriggerCharacter\" events.\r\n\r\nThis PR prepares the tests to support validating \"Invoke\" as well.\r\n\r\n**Note:** It does change many of the tests from a \"TriggerCharacter\" to\r\nan \"Invoke\" scenario. I think this is okay because\r\n- there are still plenty of \"TriggerCharacter\" tests\r\n- it would take a lot of work to update all the tests\r\n- I will be adding a full set of tests to cover both scenarios as part\r\nof https://github.com/elastic/kibana/issues/188677\r\n- We may rely less and less on trigger characters in the future\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <[email protected]>\r\nCo-authored-by: Stratoula Kalafateli <[email protected]>","sha":"76c6f550dc5c945f1410bb53d54923c7363c7660"}}]}] BACKPORT-->
drewdaemon
added a commit
to drewdaemon/kibana
that referenced
this issue
Jul 29, 2024
…#188877) ## Summary Resolve elastic#188677 This PR extends our support for Monaco's "Invoke" completion trigger kind ([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)). What this means for the user is that suggestions are now shown when the user types a character in a word even if the suggestion menu isn't already open. This situation often occurs when the user is editing a query. For example, they may follow a flow like this: 1. `FROM my-index | LIMIT 10<cursor-here>` 2. `FROM <cursor-here> | LIMIT 10` (deleted the index name) 3. `FROM k<cursor-here> | LIMIT 10` (types the first character of the index name) Previously, they wouldn't get any help. Now, we show the list of suggestions. The following table shows the cases that I considered as well as the ones that are now fixed. I also added test coverage, even for cases that worked before to prevent subtle regressions. | | Before | After | |------------------------------|------------------------------------------|-----------------------| | Source command | ✅ | ✅ | | Pipe command | ❌ | ✅ | | Function argument | ✅ | ✅ | | FROM source | ❌ | ✅ | | FROM source METADATA | ✅ | ✅ | | FROM source METADATA field | ❌ (for `_`) | ✅ | | EVAL argument | ✅ | ✅ | | DISSECT field | ✅ | ✅ | | DISSECT field pattern | ❌ | ❌ | | DROP field | ✅ | ✅ | | DROP field1, field2 | ❌ | ✅ | | ENRICH policy | ✅ | ✅ | | ENRICH policy ON | ✅ | ✅ | | ENRICH policy ON field | ✅ | ✅ | | ENRICH policy WITH | ✅ | ✅ | | ENRICH policy WITH field | ✅ | ✅ | | GROK field | ✅ | ✅ | | GROK field pattern | ❌ | ❌ | | KEEP field | ✅ | ✅ | | KEEP field1, field2 | ❌ | ✅ | | LIMIT number | ❌ | ❌ | | MV_EXPAND field | ✅ | ✅ | | RENAME field | ✅ | ✅ | | RENAME field AS | ❌ | ✅ | | RENAME field AS var0 | ✅ | ✅ | | SORT field | ✅ | ✅ | | SORT field order | ✅ | ✅ | | SORT field order nulls-order | ✅ | ✅ | | STATS argument | ✅ | ✅ | | STATS argument BY | ✅ | ✅ | | STATS argument BY expression | ✅ | ✅ | | WHERE argument | ✅ | ✅ | | WHERE argument comparison | ✅ | ✅ | As I worked, I encountered a couple small bugs which I also fixed. ### Escaping field values in `ENRICH` **Before** https://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d **After** https://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7 ### Suggesting variable assignment in `ENRICH ... WITH` **Before** https://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b **After** https://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: kibanamachine <[email protected]> (cherry picked from commit c77cd80) # Conflicts: # packages/kbn-esql-validation-autocomplete/src/autocomplete/__tests__/autocomplete.command.stats.test.ts # packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts
drewdaemon
referenced
this issue
Jul 29, 2024
…188877) (#189438) # Backport This will backport the following commits from `main` to `8.15`: - [[ES|QL] Improve support for `Invoke` completion trigger kind (#188877)](#188877) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Drew Tate","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-07-24T15:34:57Z","message":"[ES|QL] Improve support for `Invoke` completion trigger kind (#188877)\n\n## Summary\n\nResolve https://github.com/elastic/kibana/issues/188677\n\nThis PR extends our support for Monaco's \"Invoke\" completion trigger\nkind\n([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).\n\nWhat this means for the user is that suggestions are now shown when the\nuser types a character in a word even if the suggestion menu isn't\nalready open. This situation often occurs when the user is editing a\nquery. For example, they may follow a flow like this:\n\n1. `FROM my-index | LIMIT 10<cursor-here>`\n2. `FROM <cursor-here> | LIMIT 10` (deleted the index name)\n3. `FROM k<cursor-here> | LIMIT 10` (types the first character of the\nindex name)\n\nPreviously, they wouldn't get any help. Now, we show the list of\nsuggestions.\n\nThe following table shows the cases that I considered as well as the\nones that are now fixed. I also added test coverage, even for cases that\nworked before to prevent subtle regressions.\n\n| | Before | After |\n\n|------------------------------|------------------------------------------|-----------------------|\n| Source command | ✅ | ✅ |\n| Pipe command | ❌ | ✅ |\n| Function argument | ✅ | ✅ |\n| FROM source | ❌ | ✅ |\n| FROM source METADATA | ✅ | ✅ |\n| FROM source METADATA field | ❌ (for `_`) | ✅ |\n| EVAL argument | ✅ | ✅ |\n| DISSECT field | ✅ | ✅ |\n| DISSECT field pattern | ❌ | ❌ |\n| DROP field | ✅ | ✅ |\n| DROP field1, field2 | ❌ | ✅ |\n| ENRICH policy | ✅ | ✅ |\n| ENRICH policy ON | ✅ | ✅ |\n| ENRICH policy ON field | ✅ | ✅ |\n| ENRICH policy WITH | ✅ | ✅ |\n| ENRICH policy WITH field | ✅ | ✅ |\n| GROK field | ✅ | ✅ |\n| GROK field pattern | ❌ | ❌ |\n| KEEP field | ✅ | ✅ |\n| KEEP field1, field2 | ❌ | ✅ |\n| LIMIT number | ❌ | ❌ |\n| MV_EXPAND field | ✅ | ✅ |\n| RENAME field | ✅ | ✅ |\n| RENAME field AS | ❌ | ✅ |\n| RENAME field AS var0 | ✅ | ✅ |\n| SORT field | ✅ | ✅ |\n| SORT field order | ✅ | ✅ |\n| SORT field order nulls-order | ✅ | ✅ |\n| STATS argument | ✅ | ✅ |\n| STATS argument BY | ✅ | ✅ |\n| STATS argument BY expression | ✅ | ✅ |\n| WHERE argument | ✅ | ✅ |\n| WHERE argument comparison | ✅ | ✅ |\n\nAs I worked, I encountered a couple small bugs which I also fixed.\n\n### Escaping field values in `ENRICH`\n\n**Before**\n\n\nhttps://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7\n\n### Suggesting variable assignment in `ENRICH ... WITH`\n**Before**\n\n\nhttps://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b\n\n\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d\n\n\n### Checklist\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"c77cd800703b319ee19bc1cae733f1f6fdd4f513","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:prev-minor","Feature:ES|QL","Team:ESQL","v8.15.0","v8.16.0"],"number":188877,"url":"https://github.com/elastic/kibana/pull/188877","mergeCommit":{"message":"[ES|QL] Improve support for `Invoke` completion trigger kind (#188877)\n\n## Summary\n\nResolve https://github.com/elastic/kibana/issues/188677\n\nThis PR extends our support for Monaco's \"Invoke\" completion trigger\nkind\n([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).\n\nWhat this means for the user is that suggestions are now shown when the\nuser types a character in a word even if the suggestion menu isn't\nalready open. This situation often occurs when the user is editing a\nquery. For example, they may follow a flow like this:\n\n1. `FROM my-index | LIMIT 10<cursor-here>`\n2. `FROM <cursor-here> | LIMIT 10` (deleted the index name)\n3. `FROM k<cursor-here> | LIMIT 10` (types the first character of the\nindex name)\n\nPreviously, they wouldn't get any help. Now, we show the list of\nsuggestions.\n\nThe following table shows the cases that I considered as well as the\nones that are now fixed. I also added test coverage, even for cases that\nworked before to prevent subtle regressions.\n\n| | Before | After |\n\n|------------------------------|------------------------------------------|-----------------------|\n| Source command | ✅ | ✅ |\n| Pipe command | ❌ | ✅ |\n| Function argument | ✅ | ✅ |\n| FROM source | ❌ | ✅ |\n| FROM source METADATA | ✅ | ✅ |\n| FROM source METADATA field | ❌ (for `_`) | ✅ |\n| EVAL argument | ✅ | ✅ |\n| DISSECT field | ✅ | ✅ |\n| DISSECT field pattern | ❌ | ❌ |\n| DROP field | ✅ | ✅ |\n| DROP field1, field2 | ❌ | ✅ |\n| ENRICH policy | ✅ | ✅ |\n| ENRICH policy ON | ✅ | ✅ |\n| ENRICH policy ON field | ✅ | ✅ |\n| ENRICH policy WITH | ✅ | ✅ |\n| ENRICH policy WITH field | ✅ | ✅ |\n| GROK field | ✅ | ✅ |\n| GROK field pattern | ❌ | ❌ |\n| KEEP field | ✅ | ✅ |\n| KEEP field1, field2 | ❌ | ✅ |\n| LIMIT number | ❌ | ❌ |\n| MV_EXPAND field | ✅ | ✅ |\n| RENAME field | ✅ | ✅ |\n| RENAME field AS | ❌ | ✅ |\n| RENAME field AS var0 | ✅ | ✅ |\n| SORT field | ✅ | ✅ |\n| SORT field order | ✅ | ✅ |\n| SORT field order nulls-order | ✅ | ✅ |\n| STATS argument | ✅ | ✅ |\n| STATS argument BY | ✅ | ✅ |\n| STATS argument BY expression | ✅ | ✅ |\n| WHERE argument | ✅ | ✅ |\n| WHERE argument comparison | ✅ | ✅ |\n\nAs I worked, I encountered a couple small bugs which I also fixed.\n\n### Escaping field values in `ENRICH`\n\n**Before**\n\n\nhttps://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7\n\n### Suggesting variable assignment in `ENRICH ... WITH`\n**Before**\n\n\nhttps://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b\n\n\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d\n\n\n### Checklist\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"c77cd800703b319ee19bc1cae733f1f6fdd4f513"}},"sourceBranch":"main","suggestedTargetBranches":["8.15"],"targetPullRequestStates":[{"branch":"8.15","label":"v8.15.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.16.0","labelRegex":"^v8.16.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/188877","number":188877,"mergeCommit":{"message":"[ES|QL] Improve support for `Invoke` completion trigger kind (#188877)\n\n## Summary\n\nResolve https://github.com/elastic/kibana/issues/188677\n\nThis PR extends our support for Monaco's \"Invoke\" completion trigger\nkind\n([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).\n\nWhat this means for the user is that suggestions are now shown when the\nuser types a character in a word even if the suggestion menu isn't\nalready open. This situation often occurs when the user is editing a\nquery. For example, they may follow a flow like this:\n\n1. `FROM my-index | LIMIT 10<cursor-here>`\n2. `FROM <cursor-here> | LIMIT 10` (deleted the index name)\n3. `FROM k<cursor-here> | LIMIT 10` (types the first character of the\nindex name)\n\nPreviously, they wouldn't get any help. Now, we show the list of\nsuggestions.\n\nThe following table shows the cases that I considered as well as the\nones that are now fixed. I also added test coverage, even for cases that\nworked before to prevent subtle regressions.\n\n| | Before | After |\n\n|------------------------------|------------------------------------------|-----------------------|\n| Source command | ✅ | ✅ |\n| Pipe command | ❌ | ✅ |\n| Function argument | ✅ | ✅ |\n| FROM source | ❌ | ✅ |\n| FROM source METADATA | ✅ | ✅ |\n| FROM source METADATA field | ❌ (for `_`) | ✅ |\n| EVAL argument | ✅ | ✅ |\n| DISSECT field | ✅ | ✅ |\n| DISSECT field pattern | ❌ | ❌ |\n| DROP field | ✅ | ✅ |\n| DROP field1, field2 | ❌ | ✅ |\n| ENRICH policy | ✅ | ✅ |\n| ENRICH policy ON | ✅ | ✅ |\n| ENRICH policy ON field | ✅ | ✅ |\n| ENRICH policy WITH | ✅ | ✅ |\n| ENRICH policy WITH field | ✅ | ✅ |\n| GROK field | ✅ | ✅ |\n| GROK field pattern | ❌ | ❌ |\n| KEEP field | ✅ | ✅ |\n| KEEP field1, field2 | ❌ | ✅ |\n| LIMIT number | ❌ | ❌ |\n| MV_EXPAND field | ✅ | ✅ |\n| RENAME field | ✅ | ✅ |\n| RENAME field AS | ❌ | ✅ |\n| RENAME field AS var0 | ✅ | ✅ |\n| SORT field | ✅ | ✅ |\n| SORT field order | ✅ | ✅ |\n| SORT field order nulls-order | ✅ | ✅ |\n| STATS argument | ✅ | ✅ |\n| STATS argument BY | ✅ | ✅ |\n| STATS argument BY expression | ✅ | ✅ |\n| WHERE argument | ✅ | ✅ |\n| WHERE argument comparison | ✅ | ✅ |\n\nAs I worked, I encountered a couple small bugs which I also fixed.\n\n### Escaping field values in `ENRICH`\n\n**Before**\n\n\nhttps://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7\n\n### Suggesting variable assignment in `ENRICH ... WITH`\n**Before**\n\n\nhttps://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b\n\n\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d\n\n\n### Checklist\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"c77cd800703b319ee19bc1cae733f1f6fdd4f513"}}]}] BACKPORT-->
1 task
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Feature:ES|QL
ES|QL related features in Kibana
impact:high
Addressing this issue will have a high level of impact on the quality/strength of our product.
Team:ESQL
ES|QL related features in Kibana
usability
Describe the feature:
In some cases, our autocomplete refuses to produce suggestions when a user starts or continues typing a word. It can also appear not to take into account the characters that have already been typed in the current word. A user must often delete one or more characters and press the space bar to get the suggestions menu open again.
Screen.Recording.2024-07-18.at.11.10.30.AM.mov
This is confusing behavior and often leaves the user without good suggestions.
Why this happens
Monaco produces suggestions based on various events. Two kinds of events are "Invoke" and "Trigger character" (ref). "Trigger character" means the user enters one of a set of special characters we have configured to pop the suggestions menu open (e.g.
' '
). "Invoke" means the user simply starts typing a word.The inconsistencies in our autocomplete behavior are largely symptomatic of spotty support for "Invoke" style events.
_
)The text was updated successfully, but these errors were encountered: