|
@@ -65,10 +65,11 @@ let parse_input com input =
|
|
|
Common.define_value com Define.Display "1";
|
|
|
Parser.use_doc := true;
|
|
|
in
|
|
|
- let read_display_file was_auto_triggered requires_offset =
|
|
|
+ let read_display_file was_auto_triggered requires_offset is_completion =
|
|
|
let file = get_string_param "file" in
|
|
|
let pos = if requires_offset then get_int_param "offset" else (-1) in
|
|
|
Parser.was_auto_triggered := was_auto_triggered;
|
|
|
+ let pos = if pos <> (-1) && not is_completion then pos + 1 else pos in
|
|
|
Parser.resume_display := {
|
|
|
pfile = Path.unique_full_path file;
|
|
|
pmin = pos;
|
|
@@ -83,19 +84,19 @@ let parse_input com input =
|
|
|
"capabilities",get_capabilities()
|
|
|
])))
|
|
|
| "textDocument/completion" ->
|
|
|
- read_display_file (get_bool_param "wasAutoTriggered") true;
|
|
|
+ read_display_file (get_bool_param "wasAutoTriggered") true true;
|
|
|
Parser.is_completion := true;
|
|
|
enable_display DMDefault;
|
|
|
| "textDocument/definition" ->
|
|
|
Common.define com Define.NoCOpt;
|
|
|
- read_display_file false true;
|
|
|
+ read_display_file false true false;
|
|
|
enable_display DMDefinition;
|
|
|
| "textDocument/hover" ->
|
|
|
Common.define com Define.NoCOpt;
|
|
|
- read_display_file false true;
|
|
|
+ read_display_file false true false;
|
|
|
enable_display DMHover;
|
|
|
| "textDocument/package" ->
|
|
|
- read_display_file false false;
|
|
|
+ read_display_file false false false;
|
|
|
enable_display DMPackage;
|
|
|
| _ -> raise_method_not_found id name
|
|
|
end;
|