|
@@ -18,6 +18,7 @@ let get_capabilities () =
|
|
"definitionProvider",JBool true;
|
|
"definitionProvider",JBool true;
|
|
"hoverProvider",JBool true;
|
|
"hoverProvider",JBool true;
|
|
"completionProvider",JBool true;
|
|
"completionProvider",JBool true;
|
|
|
|
+ "packageProvider",JBool true;
|
|
]
|
|
]
|
|
|
|
|
|
let parse_input com input =
|
|
let parse_input com input =
|
|
@@ -64,9 +65,9 @@ let parse_input com input =
|
|
Common.define_value com Define.Display "1";
|
|
Common.define_value com Define.Display "1";
|
|
Parser.use_doc := true;
|
|
Parser.use_doc := true;
|
|
in
|
|
in
|
|
- let read_display_file was_auto_triggered =
|
|
|
|
|
|
+ let read_display_file was_auto_triggered requires_offset =
|
|
let file = get_string_param "file" in
|
|
let file = get_string_param "file" in
|
|
- let pos = get_int_param "offset" in
|
|
|
|
|
|
+ let pos = if requires_offset then get_int_param "offset" else (-1) in
|
|
Parser.was_auto_triggered := was_auto_triggered;
|
|
Parser.was_auto_triggered := was_auto_triggered;
|
|
Parser.resume_display := {
|
|
Parser.resume_display := {
|
|
pfile = Path.unique_full_path file;
|
|
pfile = Path.unique_full_path file;
|
|
@@ -80,19 +81,22 @@ let parse_input com input =
|
|
"capabilities",get_capabilities()
|
|
"capabilities",get_capabilities()
|
|
])))
|
|
])))
|
|
| "textDocument/completion" ->
|
|
| "textDocument/completion" ->
|
|
- read_display_file (get_bool_param "wasAutoTriggered");
|
|
|
|
|
|
+ read_display_file (get_bool_param "wasAutoTriggered") true;
|
|
enable_display DMDefault;
|
|
enable_display DMDefault;
|
|
| "textDocument/definition" ->
|
|
| "textDocument/definition" ->
|
|
Common.define com Define.NoCOpt;
|
|
Common.define com Define.NoCOpt;
|
|
- read_display_file false;
|
|
|
|
|
|
+ read_display_file false true;
|
|
enable_display DMDefinition;
|
|
enable_display DMDefinition;
|
|
| "textDocument/hover" ->
|
|
| "textDocument/hover" ->
|
|
Common.define com Define.NoCOpt;
|
|
Common.define com Define.NoCOpt;
|
|
- read_display_file false;
|
|
|
|
|
|
+ read_display_file false true;
|
|
enable_display DMHover;
|
|
enable_display DMHover;
|
|
|
|
+ | "textDocument/package" ->
|
|
|
|
+ read_display_file false false;
|
|
|
|
+ enable_display DMPackage;
|
|
| _ -> raise_method_not_found id name
|
|
| _ -> raise_method_not_found id name
|
|
end;
|
|
end;
|
|
com.json_out <- Some(f_result,f_error)
|
|
com.json_out <- Some(f_result,f_error)
|
|
in
|
|
in
|
|
JsonRpc.handle_jsonrpc_error process fail;
|
|
JsonRpc.handle_jsonrpc_error process fail;
|
|
- ()
|
|
|
|
|
|
+ ()
|