diff --git a/src/services/autocomplete/autocompleteService_js.ml b/src/services/autocomplete/autocompleteService_js.ml index 23d3c288c8b..fe45a7cac3f 100644 --- a/src/services/autocomplete/autocompleteService_js.ml +++ b/src/services/autocomplete/autocompleteService_js.ml @@ -681,7 +681,7 @@ let flow_text_edit_of_lsp_text_edit { Lsp.TextEdit.range; newText } = (loc, newText) let completion_item_of_autoimport - ~typing ~src_dir ~edit_locs ~ranking_info { Export_search.name; source; kind } rank = + ~typing ~src_dir ~edit_locs ~ranking_info { Export_search_types.name; source; kind } rank = let { options; get_haste_name; get_package_info; is_package_file; ast; _ } = typing in match Lsp_import_edits.text_edits_of_import @@ -810,7 +810,7 @@ let append_completion_items_of_autoimports let auto_imports_items_rev = Base.List.foldi ~init:[] - ~f:(fun i acc { Export_search.search_result = auto_import; score; weight } -> + ~f:(fun i acc { Export_search_types.search_result = auto_import; score; weight } -> let rank = (* after builtins *) if ac_options.imports_ranked_usage then @@ -820,7 +820,7 @@ let append_completion_items_of_autoimports (* if not sorted server-side, use a constant sort text *) 200 in - let { Export_search.name; kind; source = _ } = auto_import in + let { Export_search_types.name; kind; source = _ } = auto_import in if is_reserved name kind || Base.Hash_set.mem locals name then (* exclude reserved words and already-defined locals, because they can't be imported without aliasing them, which we can't do automatically in autocomplete. for example, @@ -981,7 +981,7 @@ let autocomplete_id (items_rev, true, false) else let locals = set_of_locals ~f:(fun ((name, _docs_and_tags), _ty) -> name) identifiers in - let { Export_search.results = auto_imports; is_incomplete } = + let { Export_search_types.results = auto_imports; is_incomplete } = let options = { default_autoimport_options with @@ -1462,7 +1462,7 @@ let autocomplete_unqualified_type add_locals ~f:(fun ((name, _docs_and_tags), _ty) -> name) value_identifiers set; set in - let { Export_search.results = auto_imports; is_incomplete } = + let { Export_search_types.results = auto_imports; is_incomplete } = let (before, _after) = Autocomplete_sigil.remove token in let options = { diff --git a/src/services/export/index/dune b/src/services/export/index/dune index ac52f5a8a51..5a41954b11c 100644 --- a/src/services/export/index/dune +++ b/src/services/export/index/dune @@ -3,11 +3,6 @@ (wrapped false) (libraries flow_typing - flow_typing_type - fuzzy_path - flow_procs - flow_state_readers - flow_state_heaps_parsing - flow_monitor_rpc) + flow_typing_type) (preprocess (pps ppx_deriving.std))) diff --git a/src/services/export/search/__tests__/export_search_tests.ml b/src/services/export/search/__tests__/export_search_tests.ml index bded3bb0f14..8b22d1d1f0f 100644 --- a/src/services/export/search/__tests__/export_search_tests.ml +++ b/src/services/export/search/__tests__/export_search_tests.ml @@ -7,6 +7,7 @@ open OUnit2 open Export_search +open Export_search_types let default_type = Export_index.DefaultType diff --git a/src/services/export/search/dune b/src/services/export/search/dune index 9bc1fcc136c..c6de52beac5 100644 --- a/src/services/export/search/dune +++ b/src/services/export/search/dune @@ -7,8 +7,7 @@ flow_typing_type fuzzy_path flow_procs - flow_state_readers - flow_state_heaps_parsing + flow_search_types flow_monitor_rpc) (preprocess (pps ppx_deriving.std))) diff --git a/src/services/export/search/export_search.ml b/src/services/export/search/export_search.ml index 62989e63cfb..643bfd494fb 100644 --- a/src/services/export/search/export_search.ml +++ b/src/services/export/search/export_search.ml @@ -5,32 +5,14 @@ * LICENSE file in the root directory of this source tree. *) +open Export_search_types + type t = { index: Export_index.t; value_matcher: Fuzzy_path.t; type_matcher: Fuzzy_path.t; } -type search_result = { - name: string; - source: Export_index.source; - kind: Export_index.kind; -} -[@@deriving show] - -type search_result_scored = { - search_result: search_result; - score: int; - weight: int; -} -[@@deriving show] - -type search_results = { - results: search_result_scored list; - is_incomplete: bool; -} -[@@deriving show] - type search_options = Fuzzy_path.options = { first_match_can_be_weak: bool; num_threads: int; diff --git a/src/services/export/search/export_search.mli b/src/services/export/search/export_search.mli index 009588bf195..d20c686afc5 100644 --- a/src/services/export/search/export_search.mli +++ b/src/services/export/search/export_search.mli @@ -14,26 +14,6 @@ type search_options = Fuzzy_path.options = { weighted: bool; } -type search_result = { - name: string; - source: Export_index.source; - kind: Export_index.kind; -} -[@@deriving show] - -type search_result_scored = { - search_result: search_result; - score: int; - weight: int; -} -[@@deriving show] - -type search_results = { - results: search_result_scored list; - is_incomplete: bool; -} -[@@deriving show] - val init : Export_index.t -> t val merge : Export_index.t -> t -> t @@ -46,9 +26,9 @@ val subtract_count : Export_index.t -> t -> t val default_options : search_options -val search_values : ?options:search_options -> string -> t -> search_results +val search_values : ?options:search_options -> string -> t -> Export_search_types.search_results -val search_types : ?options:search_options -> string -> t -> search_results +val search_types : ?options:search_options -> string -> t -> Export_search_types.search_results val get : string -> t -> int Export_index.ExportMap.t diff --git a/src/services/export/search/types/dune b/src/services/export/search/types/dune new file mode 100644 index 00000000000..c258b6bd119 --- /dev/null +++ b/src/services/export/search/types/dune @@ -0,0 +1,7 @@ +(library + (name flow_search_types) + (wrapped false) + (libraries + flow_index) + (preprocess + (pps ppx_deriving.std))) diff --git a/src/services/export/search/types/export_search_types.ml b/src/services/export/search/types/export_search_types.ml new file mode 100644 index 00000000000..56dda8c44ea --- /dev/null +++ b/src/services/export/search/types/export_search_types.ml @@ -0,0 +1,26 @@ +(* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +type search_result = { + name: string; + source: Export_index.source; + kind: Export_index.kind; +} +[@@deriving show] + +type search_result_scored = { + search_result: search_result; + score: int; + weight: int; +} +[@@deriving show] + +type search_results = { + results: search_result_scored list; + is_incomplete: bool; +} +[@@deriving show]