@@ -2,7 +2,9 @@ import * as vscode from 'vscode'
22import { WorkspaceProvider } from '../../context/providers/workspace/workspace-provider'
33import { Logger } from '@shared/utils/logger'
44import {
5- LAST_SEARCH_FILES_FOR_CONTEXT_QUERY_STATE_KEY ,
5+ LAST_SEARCH_FILES_PHRASE_QUERY_STATE_KEY ,
6+ LAST_SEARCH_FILES_KEYWORDS_QUERY_STATE_KEY ,
7+ LAST_SEARCH_FILES_INTELLIGENT_QUERY_STATE_KEY ,
68 LAST_SEARCH_FILES_FOR_CONTEXT_MODE_STATE_KEY ,
79 LAST_FIND_RELEVANT_FILES_SHRINK_STATE_KEY
810} from '../../constants/state-keys'
@@ -25,81 +27,56 @@ export const search_files_commands = (
2527 workspace_provider : WorkspaceProvider ,
2628 extension_context : vscode . ExtensionContext
2729) => {
28- const search_handler = async ( item ?: any , auto_submit : boolean = false ) => {
30+ const search_handler = async ( item ?: any ) => {
2931 const folder_path = await get_target_folder_path ( item )
3032
31- let initial_search_term =
32- extension_context . workspaceState . get < string > (
33- LAST_SEARCH_FILES_FOR_CONTEXT_QUERY_STATE_KEY
34- ) || ''
35-
3633 let initial_search_mode =
3734 extension_context . workspaceState . get <
3835 'phrase' | 'keywords' | 'intelligent'
3936 > ( LAST_SEARCH_FILES_FOR_CONTEXT_MODE_STATE_KEY ) || 'phrase'
4037
41- let should_auto_submit = false
42-
43- const active_editor = vscode . window . activeTextEditor
44- if ( active_editor ) {
45- const selection = active_editor . selection
46- if ( ! selection . isEmpty ) {
47- const selected_text = active_editor . document . getText ( selection ) . trim ( )
48- if ( selected_text . length > 0 ) {
49- initial_search_term = selected_text
50- if ( auto_submit ) {
51- should_auto_submit = true
52- }
53- }
54- }
55- }
56-
5738 while ( true ) {
5839 try {
59- let search_mode : 'phrase' | 'keywords' | 'intelligent' =
60- initial_search_mode
61-
62- if ( ! should_auto_submit ) {
63- const mode_result = await prompt_for_search_mode ( initial_search_mode )
64- if ( ! mode_result ) return
65-
66- initial_search_mode = mode_result
67- search_mode = mode_result
68- await extension_context . workspaceState . update (
69- LAST_SEARCH_FILES_FOR_CONTEXT_MODE_STATE_KEY ,
70- search_mode
71- )
72- }
40+ const mode_result = await prompt_for_search_mode ( initial_search_mode )
41+ if ( ! mode_result ) return
42+
43+ initial_search_mode = mode_result
44+ const search_mode = mode_result
45+ await extension_context . workspaceState . update (
46+ LAST_SEARCH_FILES_FOR_CONTEXT_MODE_STATE_KEY ,
47+ search_mode
48+ )
7349
7450 let go_back_to_mode = false
7551 let break_outer = false
7652
7753 while ( true ) {
78- let search_term_input : string | undefined
79-
80- if ( should_auto_submit && initial_search_term . length > 0 ) {
81- search_term_input = initial_search_term
82- should_auto_submit = false
83- } else {
84- const result = await prompt_for_search_term (
85- initial_search_term ,
86- search_mode
87- )
88- if ( result . back ) {
89- go_back_to_mode = true
90- break
91- }
92- if ( ! result . value ) return
93- search_term_input = result . value
54+ const state_key =
55+ search_mode == 'phrase'
56+ ? LAST_SEARCH_FILES_PHRASE_QUERY_STATE_KEY
57+ : search_mode == 'keywords'
58+ ? LAST_SEARCH_FILES_KEYWORDS_QUERY_STATE_KEY
59+ : LAST_SEARCH_FILES_INTELLIGENT_QUERY_STATE_KEY
60+
61+ const initial_search_term =
62+ extension_context . workspaceState . get < string > ( state_key ) || ''
63+
64+ const result = await prompt_for_search_term (
65+ initial_search_term ,
66+ search_mode
67+ )
68+ if ( result . back ) {
69+ go_back_to_mode = true
70+ break
9471 }
72+ if ( ! result . value ) return
73+ const search_term_input = result . value
9574
9675 await extension_context . workspaceState . update (
97- LAST_SEARCH_FILES_FOR_CONTEXT_QUERY_STATE_KEY ,
76+ state_key ,
9877 search_term_input
9978 )
10079
101- initial_search_term = search_term_input
102-
10380 const search_term = search_term_input . trim ( )
10481 if ( search_term . length == 0 ) return
10582
@@ -338,7 +315,7 @@ export const search_files_commands = (
338315 ) ,
339316 vscode . commands . registerCommand (
340317 'codeWebChat.searchFilesFromFile' ,
341- ( item : any ) => search_handler ( item , true )
318+ ( item : any ) => search_handler ( item )
342319 )
343320 ]
344321}
0 commit comments