@@ -7,7 +7,7 @@ import { VscCheck } from 'react-icons/vsc'
7
7
8
8
import { Separator } from 'uiSrc/ui'
9
9
import { ConsentsPrivacy , MultiSelect , MultiSelectOption } from 'uiSrc/components'
10
- import { VscodeMessageAction } from 'uiSrc/constants'
10
+ import { DEFAULT_DELIMITER , EventKeys , VscodeMessageAction } from 'uiSrc/constants'
11
11
import { vscodeApi } from 'uiSrc/services'
12
12
import { useAppInfoStore } from 'uiSrc/store/hooks/use-app-info-store/useAppInfoStore'
13
13
import { TelemetryEvent , arrayToMultiSelect , multiSelectToArray , sendEventTelemetry } from 'uiSrc/utils'
@@ -27,7 +27,9 @@ export const Settings = () => {
27
27
const [ delimiters , setDelimiters ] = useState < readonly MultiSelectOption [ ] > ( delimitersProp )
28
28
29
29
const handleApplyClick = ( ) => {
30
- const delims = multiSelectToArray ( delimiters )
30
+ const delimitersInit = multiSelectToArray ( delimiters )
31
+ const delims = delimitersInit . length ? delimitersInit : [ DEFAULT_DELIMITER ]
32
+
31
33
if ( isEqual ( delimitersProp , delimiters ) ) {
32
34
return
33
35
}
@@ -40,6 +42,7 @@ export const Settings = () => {
40
42
} ,
41
43
} )
42
44
45
+ setDelimiters ( arrayToMultiSelect ( delims ) )
43
46
setDelimitersAction ( delims )
44
47
45
48
vscodeApi . postMessage ( { action : VscodeMessageAction . UpdateSettingsDelimiter , data : delims } )
@@ -55,8 +58,12 @@ export const Settings = () => {
55
58
56
59
// eslint-disable-next-line default-case
57
60
switch ( event . key ) {
58
- case 'Enter' :
59
- case ' ' :
61
+ case EventKeys . ENTER :
62
+ case EventKeys . SPACE :
63
+ if ( delimiters . find ( ( { value } ) => value === inputValue ) ) {
64
+ return
65
+ }
66
+
60
67
setOption ( )
61
68
event . preventDefault ( )
62
69
}
0 commit comments