Josh Di Fabio
78a9d1aa9b
Ensure any queued file analyses are done before completion
...
Language Server
---------------
When typing quickly, the LSP client can send multiple messages
in a group, including didChange messages followed by completion
messages. Currently, LanguageServer::doAnalysis() is only called
after a message group is processed. This can result in completion
being done with outdated file contents for example:
Message group with two messages is received
1. `didChange`: file analysis is queued for modified file
2. `completion`: completion attempted on stale file contents
3. `messageGroupRead`: analysis is done, but too late for completion
This commit ensures that any queued file analyses are done prior
to serving completion requests.
2019-06-13 09:04:52 -04:00
Matthew Brown
42bafc1e64
Fix #1775 - allow true|false to be accepted as bool
2019-06-13 08:55:36 -04:00
Brown
0ba535d179
Fix problem locating end of completion area
2019-06-12 13:43:35 -04:00
Brown
f700502b51
Add skipped completion test
2019-06-12 13:34:49 -04:00
cfebs
ef000a4172
Update issue suppression docs link in readme
2019-06-12 11:22:29 -04:00
Josh Di Fabio
3db32f2274
Enable LS completion when whitespace follows known type
...
This change enables completion when there is whitespace following
a known type and an object access operator, e.g.:
$foo
->bar()
->baz();
2019-06-12 09:17:50 -04:00
Matthew Brown
53506fb879
Fix #1770 - fix notice that should not be
2019-06-12 09:13:59 -04:00
Brown
6fa8b986cc
Whitelist psalm-refactor.php
2019-06-11 15:30:05 -04:00
Brown
9c4599a0f0
Add better support for inheriting docblocks
2019-06-11 11:19:57 -04:00
Brown
7cf8c362f0
Fix #1766 - interpret interface parent extends properly
2019-06-11 10:49:39 -04:00
Brown
010f911d22
Fix replacement of local types
2019-06-11 10:33:52 -04:00
Brown
45f2d986e6
Allow multiple class renames at once
2019-06-10 17:09:34 -04:00
Brown
c21e9917fa
Add config flag to prevent inferring property types from constructor
2019-06-10 14:41:21 -04:00
Brown
7af21b80a9
Add binary link
2019-06-10 14:01:47 -04:00
Brown
aa2fde521a
Fix #1703 - infer properties from class params
2019-06-10 12:00:32 -04:00
Matthew Brown
e1255db32a
Prevent if checking unless we’re in a top-level if
2019-06-10 00:02:36 -04:00
Matthew Brown
158a2150a7
Fix #1752 - don’t enter if/else when class/interfaces/functions don’t exist
2019-06-09 23:50:28 -04:00
Matthew Brown
305c40839a
Remove phpdoc note
2019-06-09 18:05:28 -04:00
Matthew Brown
d4186e4530
Add PHPDoc note
2019-06-09 18:04:00 -04:00
Matthew Brown
04b3bb23a4
Add non-empty-countable to Psalm reserved words
2019-06-09 17:54:23 -04:00
Matthew Brown
7a14e87e78
Add line breaks
2019-06-09 17:45:41 -04:00
Matthew Brown
bbacba4acf
Improve atomic type intro
2019-06-09 17:41:06 -04:00
Matthew Brown
0443bfc41e
Add better preamble about atomic types
2019-06-09 17:37:29 -04:00
Matthew Brown
28b0895ffb
Push union type info to bottom
2019-06-09 17:35:38 -04:00
Matthew Brown
f898bb1f2c
Remove probably-confusing explanation of union types
2019-06-09 17:31:26 -04:00
Matthew Brown
30b1b0a65c
Indent other types
2019-06-09 17:20:13 -04:00
Matthew Brown
c0a9ccb385
Fix handling of unused params in threaded mode
2019-06-09 17:02:21 -04:00
Matthew Brown
71a184312a
Improve punctuation
2019-06-09 15:48:08 -04:00
Matthew Brown
5d47dc5769
Add more obvious examples
2019-06-09 15:43:52 -04:00
Matthew Brown
c3d4acf6fe
Add link
2019-06-09 15:34:19 -04:00
Matthew Brown
61102998d1
Organise atomic type page better
2019-06-09 15:32:26 -04:00
Matthew Brown
bc49787d69
Add more information about class-string
2019-06-09 15:22:26 -04:00
Matthew Brown
9c18dfed43
Fix char
2019-06-09 15:20:15 -04:00
Matthew Brown
2fd24c4765
Fix underscores
2019-06-09 15:18:06 -04:00
Matthew Brown
344164816f
Break apart atomic type docs, adding listing
2019-06-09 15:16:55 -04:00
Matthew Brown
348ed24881
Remove unused things
2019-06-09 13:12:08 -04:00
Matthew Brown
0145e60e6a
Allow property default to include value-of option
2019-06-09 12:47:27 -04:00
Matthew Brown
b5cbc84351
Fix #1617 - add option to only show errors in reports
2019-06-09 12:37:28 -04:00
Matthew Brown
3a5a347b0b
Fix #1747 - be tolerant of slash differences in baseline
2019-06-09 10:30:14 -04:00
Matthew Brown
93f81f599e
Fix #1764 - prevent UndefinedInterfaceMethod error when checking initialisation
2019-06-09 09:18:05 -04:00
Matthew Brown
5592335a7c
Remove "
2019-06-09 09:16:43 -04:00
Matthew Brown
017ddd590a
Add better English
2019-06-09 01:41:31 -04:00
Matthew Brown
c6ffa7b55a
Change paths
2019-06-09 01:07:17 -04:00
Matthew Brown
a2f444f1b9
Fix link
2019-06-09 01:05:03 -04:00
Matthew Brown
7a1a728cee
Move docs into subfolders
2019-06-09 00:54:13 -04:00
Matthew Brown
b13eaa20d2
Fix namespacing of generated if
2019-06-08 20:27:49 -04:00
Matthew Brown
0d40fdaaa0
Add false arg
2019-06-08 20:10:51 -04:00
Matthew Brown
7f258100f2
Remove blank line
2019-06-08 20:03:46 -04:00
Matthew Brown
8c923cb9fd
Bump box version
2019-06-08 19:59:23 -04:00
Matthew Brown
bfbe9a527a
Hack around PHP 7.3 polyfill scoping
2019-06-08 19:51:47 -04:00