Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixes eclipse-che#2437: Apply multi-edit formatting without messing u…
…p the document (eclipse-che#2719) * Fixes eclipse-che#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
- Loading branch information