add option --saved-state-ignore-hhconfig similar to --ignore-hh-version
[hiphop-php.git] / hphp / hack / src / client / clientEnv.ml
blob0cc227dc3d4f56f24ac6d9ae74e315adb89c596c
1 (**
2 * Copyright (c) 2015, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the "hack" directory of this source tree.
8 *)
10 type client_mode =
11 | MODE_AI_QUERY of string
12 | MODE_AUTO_COMPLETE
13 | MODE_COLORING of string
14 | MODE_COVERAGE of string
15 | MODE_CREATE_CHECKPOINT of string
16 | MODE_CST_SEARCH of string list option
17 | MODE_DELETE_CHECKPOINT of string
18 | MODE_DUMP_SYMBOL_INFO of string
19 | MODE_FIND_CLASS_REFS of string
20 | MODE_FIND_REFS of string
21 | MODE_FORMAT of int * int
22 | MODE_FULL_FIDELITY_PARSE of string
23 | MODE_FULL_FIDELITY_SCHEMA
24 | MODE_GEN_HOT_CLASSES of int * string
25 | MODE_IDE_FIND_REFS of string
26 | MODE_IDE_HIGHLIGHT_REFS of string
27 | MODE_IDE_REFACTOR of string
28 | MODE_IDENTIFY_SYMBOL1 of string
29 | MODE_IDENTIFY_SYMBOL2 of string
30 | MODE_IDENTIFY_SYMBOL3 of string
31 | MODE_IN_MEMORY_DEP_TABLE_SIZE
32 | MODE_INFER_RETURN_TYPE of string
33 | MODE_LINT
34 | MODE_LINT_ALL of int
35 | MODE_LINT_STDIN of string
36 | MODE_LINT_XCONTROLLER of string
37 | MODE_LIST_FILES
38 | MODE_LIST_MODES
39 | MODE_METHOD_JUMP_ANCESTORS of string * string
40 | MODE_METHOD_JUMP_ANCESTORS_BATCH of string list * string
41 | MODE_METHOD_JUMP_CHILDREN of string
42 | MODE_OUTLINE
43 | MODE_OUTLINE2
44 | MODE_REFACTOR of string * string * string
45 | MODE_REMOVE_DEAD_FIXMES of int list
46 | MODE_RETRIEVE_CHECKPOINT of string
47 | MODE_SAVE_STATE of string
48 (* TODO figure out why we can't reference FuzzySearchService from here *)
49 | MODE_SEARCH of string * string
50 | MODE_SHOW of string
51 | MODE_STATS
52 | MODE_STATUS
53 | MODE_STATUS_SINGLE of string (* filename *)
54 | MODE_TYPE_AT_POS of string
55 | MODE_TYPE_AT_POS_BATCH of string list
56 | MODE_TYPED_FULL_FIDELITY_PARSE of string (* filename *)
57 | MODE_FUN_DEPS_AT_POS_BATCH of string list
58 | MODE_FUN_IS_LOCALLABLE_AT_POS_BATCH of string list
60 type client_check_env = {
61 ai_mode: string option;
62 autostart: bool;
63 config : (string * string) list;
64 dynamic_view: bool;
65 file_info_on_disk: bool;
66 force_dormant_start: bool;
67 from: string;
68 gen_saved_ignore_type_errors: bool;
69 ignore_hh_version: bool;
70 saved_state_ignore_hhconfig: bool;
71 lint_paths: string list;
72 log_inference_constraints: bool;
73 mode: client_mode;
74 no_load: bool;
75 output_json: bool;
76 prechecked : bool option;
77 profile_log: bool;
78 replace_state_after_saving: bool;
79 retries: int;
80 root: Path.t;
81 sort_results: bool;
82 timeout: float option;
83 watchman_debug_logging: bool;
86 let mode_to_string = function
87 | MODE_AI_QUERY _ -> "MODE_AI_QUERY"
88 | MODE_AUTO_COMPLETE -> "MODE_AUTO_COMPLETE"
89 | MODE_COLORING _ -> "MODE_COLORING"
90 | MODE_COVERAGE _ -> "MODE_COVERAGE"
91 | MODE_CREATE_CHECKPOINT _ -> "MODE_CREATE_CHECKPOINT"
92 | MODE_CST_SEARCH _ -> "MODE_CST_SEARCH"
93 | MODE_DELETE_CHECKPOINT _ -> "MODE_DELETE_CHECKPOINT"
94 | MODE_DUMP_SYMBOL_INFO _ -> "MODE_DUMP_SYMBOL_INFO"
95 | MODE_FIND_CLASS_REFS _ -> "MODE_FIND_CLASS_REFS"
96 | MODE_FIND_REFS _ -> "MODE_FIND_REFS"
97 | MODE_FORMAT _ -> "MODE_FORMAT"
98 | MODE_FULL_FIDELITY_PARSE _ -> "MODE_FULL_FIDELITY_PARSE"
99 | MODE_FULL_FIDELITY_SCHEMA -> "MODE_FULL_FIDELITY_SCHEMA"
100 | MODE_GEN_HOT_CLASSES _ -> "MODE_GEN_HOT_CLASSES"
101 | MODE_IDE_FIND_REFS _ -> "MODE_IDE_FIND_REFS"
102 | MODE_IDE_HIGHLIGHT_REFS _ -> "MODE_IDE_HIGHLIGHT_REFS"
103 | MODE_IDE_REFACTOR _ -> "MODE_IDE_REFACTOR"
104 | MODE_IDENTIFY_SYMBOL1 _ -> "MODE_IDENTIFY_SYMBOL1"
105 | MODE_IDENTIFY_SYMBOL2 _ -> "MODE_IDENTIFY_SYMBOL2"
106 | MODE_IDENTIFY_SYMBOL3 _ -> "MODE_IDENTIFY_SYMBOL3"
107 | MODE_IN_MEMORY_DEP_TABLE_SIZE -> "MODE_IN_MEMORY_DEP_TABLE_SIZE"
108 | MODE_INFER_RETURN_TYPE _ -> "MODE_INFER_RETURN_TYPE"
109 | MODE_LINT -> "MODE_LINT"
110 | MODE_LINT_ALL _ -> "MODE_LINT_ALL"
111 | MODE_LINT_STDIN _ -> "MODE_LINT_STDIN"
112 | MODE_LINT_XCONTROLLER _ -> "MODE_LINT_XCONTROLLER"
113 | MODE_LIST_FILES -> "MODE_LIST_FILES"
114 | MODE_LIST_MODES -> "MODE_LIST_MODES"
115 | MODE_METHOD_JUMP_ANCESTORS _ -> "MODE_METHOD_JUMP_ANCESTORS"
116 | MODE_METHOD_JUMP_ANCESTORS_BATCH _ -> "MODE_METHOD_JUMP_ANCESTORS_BATCH"
117 | MODE_METHOD_JUMP_CHILDREN _ -> "MODE_METHOD_JUMP_CHILDREN"
118 | MODE_OUTLINE -> "MODE_OUTLINE"
119 | MODE_OUTLINE2 -> "MODE_OUTLINE2"
120 | MODE_REFACTOR _ -> "MODE_REFACTOR"
121 | MODE_REMOVE_DEAD_FIXMES _ -> "MODE_REMOVE_DEAD_FIXMES"
122 | MODE_RETRIEVE_CHECKPOINT _ -> "MODE_RETRIEVE_CHECKPOINT"
123 | MODE_SAVE_STATE _ -> "MODE_SAVE_STATE"
124 | MODE_SEARCH _ -> "MODE_SEARCH"
125 | MODE_SHOW _ -> "MODE_SHOW"
126 | MODE_STATS -> "MODE_STATS"
127 | MODE_STATUS -> "MODE_STATUS"
128 | MODE_STATUS_SINGLE _ -> "MODE_STATUS_SINGLE"
129 | MODE_TYPE_AT_POS _ -> "MODE_TYPE_AT_POS"
130 | MODE_TYPE_AT_POS_BATCH _ -> "MODE_TYPE_AT_POS_BATCH"
131 | MODE_TYPED_FULL_FIDELITY_PARSE _ -> "MODE_TYPED_FULL_FIDELITY_PARSE"
132 | MODE_FUN_DEPS_AT_POS_BATCH _ -> "MODE_FUN_DEPS_AT_POS_BATCH"
133 | MODE_FUN_IS_LOCALLABLE_AT_POS_BATCH _ -> "MODE_FUN_IS_LOCALLABLE_AT_POS_BATCH"