Commit Graph

208 Commits (fc2f76bc5c8a6146cdaca34eb2bb60ca8e30aaee)

Author SHA1 Message Date
Kaloyan Raev 13a1a52f2e Fixes #2437: Apply multi-edit formatting without messing up the document (#2719)
* Fixes #2437: Shift remaining ranges when applying multi-edit formatting

A formatting request to a language server may result in a list of
multiple text edits. The ranges of all these text edits are based on the
yet unmodified document. Che applies the edits to the document one by
one. If the inserted text has a different length than the replaced text
then the ranges of the remaining edits become invalid and they must be
shifted appropriately.

This patch shifts the ranges as necessary. To achieve this, it first
converts the ranges based on lines and characters to linear ranges,
which are easier for shifting.

Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>

* Simplify the shifting logic

Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>

* Reworked: just applying the text edits backwards is enough
2016-10-06 14:29:14 +03:00
Anatoliy Bazko e079338a11 CHE-2552: Language server module refactoring (#2677) 2016-10-04 11:49:24 +03:00
Evgen Vidolob 71600b7fc7 #1801 implement 'Signature Help' LS feature (#2645) 2016-09-29 12:27:59 +03:00
Roman Iuvshin 33944c6ec1 set M5 version 2016-09-27 16:08:19 +03:00
Roman Iuvshin 152be21b4f [maven-release-plugin] prepare for next development iteration 2016-09-26 14:19:41 +00:00
Roman Iuvshin 89ab012035 [maven-release-plugin] prepare release 5.0.0-M3 2016-09-26 14:19:37 +00:00
Roman Iuvshin 900ccbb807 set M3 version 2016-09-20 17:31:42 +03:00
Anatoliy Bazko c48a69f961 CHE-1287: Support for Language Server Protocol (#2452) 2016-09-16 12:45:02 +03:00