Provide a way for hh_client to retrieve AI info from server
[hiphop-php.git] / hphp / hack / src / client / clientEnv.ml
blob12877097c2a7958d2ea6510ffda0308cfb1c2f83
1 (**
2 * Copyright (c) 2015, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the BSD-style license found in the
6 * LICENSE file in the "hack" directory of this source tree. An additional grant
7 * of patent rights can be found in the PATENTS file in the same directory.
9 *)
12 type client_mode =
13 | MODE_LIST_FILES
14 | MODE_LIST_MODES
15 | MODE_TYPE_AT_POS of string
16 | MODE_AUTO_COMPLETE
17 | MODE_STATUS
18 | MODE_SHOW of string
19 | MODE_COLORING of string
20 | MODE_COVERAGE of string
21 | MODE_FIND_REFS of string
22 | MODE_IDENTIFY_FUNCTION of string
23 | MODE_OUTLINE
24 | MODE_METHOD_JUMP_CHILDREN of string
25 | MODE_METHOD_JUMP_ANCESTORS of string
26 | MODE_REFACTOR
27 | MODE_FIND_CLASS_REFS of string
28 | MODE_ARGUMENT_INFO of string
29 (* TODO figure out why we can't reference FuzzySearchService from here *)
30 | MODE_SEARCH of string * string
31 | MODE_LINT of string list
32 | MODE_LINT_ALL of int
33 | MODE_DUMP_SYMBOL_INFO of string
34 | MODE_DUMP_AI_INFO of string
35 | MODE_CREATE_CHECKPOINT of string
36 | MODE_RETRIEVE_CHECKPOINT of string
37 | MODE_DELETE_CHECKPOINT of string
38 | MODE_STATS
40 type client_check_env = {
41 mode: client_mode;
42 root: Path.t;
43 from: string;
44 output_json: bool;
45 retry_if_init: bool;
46 retries: int;
47 timeout: float option;
48 autostart: bool;
49 no_load: bool;
52 let mode_to_string = function
53 | MODE_LIST_FILES -> "MODE_LIST_FILES"
54 | MODE_LIST_MODES -> "MODE_LIST_MODES"
55 | MODE_TYPE_AT_POS _ -> "MODE_TYPE_AT_POS"
56 | MODE_AUTO_COMPLETE -> "MODE_AUTO_COMPLETE"
57 | MODE_STATUS -> "MODE_STATUS"
58 | MODE_SHOW _ -> "MODE_SHOW"
59 | MODE_COLORING _ -> "MODE_COLORING"
60 | MODE_COVERAGE _ -> "MODE_COVERAGE"
61 | MODE_FIND_REFS _ -> "MODE_FIND_REFS"
62 | MODE_IDENTIFY_FUNCTION _ -> "MODE_IDENTIFY_FUNCTION"
63 | MODE_OUTLINE -> "MODE_OUTLINE"
64 | MODE_METHOD_JUMP_CHILDREN _ -> "MODE_METHOD_JUMP_CHILDREN"
65 | MODE_METHOD_JUMP_ANCESTORS _ -> "MODE_METHOD_JUMP_ANCESTORS"
66 | MODE_REFACTOR -> "MODE_REFACTOR"
67 | MODE_FIND_CLASS_REFS _ -> "MODE_FIND_CLASS_REFS"
68 | MODE_ARGUMENT_INFO _ -> "MODE_ARGUMENT_INFO"
69 | MODE_SEARCH _ -> "MODE_SEARCH"
70 | MODE_LINT _ -> "MODE_LINT"
71 | MODE_LINT_ALL _ -> "MODE_LINT_ALL"
72 | MODE_DUMP_SYMBOL_INFO _ -> "MODE_DUMP_SYMBOL_INFO"
73 | MODE_DUMP_AI_INFO _ -> "MODE_DUMP_AI_INFO"
74 | MODE_CREATE_CHECKPOINT _ -> "MODE_CREATE_CHECKPOINT"
75 | MODE_RETRIEVE_CHECKPOINT _ -> "MODE_RETRIEVE_CHECKPOINT"
76 | MODE_DELETE_CHECKPOINT _ -> "MODE_DELETE_CHECKPOINT"
77 | MODE_STATS -> "MODE_STATS"