Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-09-26Bug 551320 - Fix missing line numbers on GTK with static scrollbarsI20191002-0100I20191001-1800I20190930-1800Thomas Wolf1-15/+40
On GTK with static scrollbars the ruler canvas is higher than the visual text area (text viewer minus horizontal scrollbar height). JFaceTextUtil.getVisibleModelLines() sometimes returns a bottom model line that actually ends above the lower edge of the ruler canvas. When that occurred, subsequent scrolling down in the text could lead to missing line numbers. Account for that by considering only pixels up to the bottom line's bottom, and clearing the rest of the canvas. (Note: on Mac with static scroll bars, the ruler canvas ends at the top of the horizontal scrollbar and thus always has the same height as the visible text area, and hence this problem doesn't occur.) Verified manually on OS X and on Linux/GTK with both static and dynamic scrollbars and found no rendering problems. Change-Id: Iaf7bd4627594590e9e421b48c6de99578927625a Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-25Bug 551438 - Fix files that have ended up with CRLF in the gitI20190929-1800I20190928-1800I20190928-0515I20190928-0205I20190928-0000I20190927-1800I20190927-1530I20190927-0255I20190927-0225I20190927-0145I20190926-1800I20190926-0625Ed Merks10-528/+528
repository Change-Id: I0c9ba3b46833125403eb890ae01cb6d60553147f Signed-off-by: Ed Merks <ed.merks@gmail.com>
2019-09-24Bug 551341 - Remove work-around for blurry line numbers on Mac HiDPII20190924-1800Thomas Wolf5-147/+8
This work-around is no longer needed, and slows down scrolling on Mac HiDPI quite a bit. Remove it completely, and set the minimum required version for org.eclipse.swt to the first version in which Cocoa bug 489451 had been fixed (3.110.100). This reverts the changes from bug 516293. Note that the corresponding changes in LogicalLineNumberRulerColumn in EGit must not be undone yet. EGit needs to work on older platforms where the work-around may still be active. It can be removed in EGit only once the baseline of EGit becomes 4.14. Change-Id: Ibb801c98f19f118353842cae2caad6b29852e6e9 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-20Bug 551320 - LineNumberRulerColumn: fix overdrawn line numbersI20190923-1800I20190923-0615I20190922-1800I20190921-1800I20190920-1800Thomas Wolf1-18/+27
Some subclasses may paint outside the line range given, for instance the LineNumberChangeRulerColumn. When painting directly into the buffer this may lead to missing line numbers. Always use an extra Image to paint if we're not painting the whole line range, and copy the wanted bits. Draw directly into the buffer only if we're re-drawing everything anyway. Change-Id: I287711173441a12d7c393d90b20d0854e1ed5f56 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-20Bug 544448 - [Test] Add extension point for quickAssistantProcessorsMickael Istria1-1/+2
Automated test missing in test suite. Change-Id: Icd186012f6f079ef68719d68ce13ce11f66872f6 Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-09-20Bug 544448 - Genericeditor tests: wrong classname in plugin.xmlPaul Pazderski1-1/+1
Referenced class 'org.eclipse.ui.genericeditor.tests.contributions.QuickAssistProcessor' in attribute 'class' is not on the plug-in classpath. Change-Id: I36b7bbed5381297ee059ee867490d00da0afd463 Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-20Bug 549663 - Eclipse Quick Text Search: Scroll in Preview WindowPaul Pazderski1-3/+3
Fix stupid bug which prevent the preview window to center on the match. Change-Id: I90c23ea027b721b217b5d91d15ee0a5ba20e303a Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-20Bug 550920 - Recompute proposals if some cannot be filtered outBoykoAlex3-15/+603
Change-Id: I51282e29252b8e27d318fceed7d9634cb708f2e0 Signed-off-by: BoykoAlex <aboyko@pivotal.io>
2019-09-19Bug 544448 - Add extension point for quickAssistantProcessorsI20190919-1800Andrew Obuchowicz10-10/+374
Change-Id: If9e4aab45c7389b92475e07b955c45c50bbdd251 Signed-off-by: Andrew Obuchowicz <aobuchow@redhat.com>
2019-09-19Bug 366471 - Speed up line number drawingThomas Wolf1-60/+112
LineNumberRulerColumn re-drew all visible numbers every time. This is a bit expensive since drawing strings is complicated business. Improve performance by taking advantage of the double buffering. If during scrolling the new range overlaps with the last range, just copy the still valid pixels to the new location and re-draw only the new lines. Change-Id: I38a485c0ee092455fd4a72275bce175bc68c2895 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-19Bug 550057 - [Quicksearch] missing mnemonicsMickael Istria2-3/+3
Change-Id: If8947496324da5baad6191871ea295f7ec4573b6 Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-09-18Bug 551180 - Debug Shell can't evaluate/inspect anymoreI20190919-0850I20190918-1800Andrey Loskutov1-7/+0
Change-Id: I8decd7233bbff5b31f3d051da9309c1b94d5ef5b Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-09-17Bug 483846 - [typing] Spaces only mode: backspace key to remove manyI20190918-0300I20190917-1800Mateusz Matela18-24/+317
spaces Change-Id: I162b412281bc0028aba4e763a859410d86f34aa6 Signed-off-by: Mateusz Matela <mateusz.matela@gmail.com>
2019-09-17Bug 549663 - Eclipse Quick Text Search: Scroll in Preview WindowAlexander Kurtakov1-2/+0
Fix compile warnings https://download.eclipse.org/eclipse/downloads/drops4/I20190916-1800/compilelogs/plugins/org.eclipse.text.quicksearch_1.0.100.v20190916-2054/@dot.html#OTHER_WARNINGS Change-Id: Ifc421e532077ae0e491bb41e60918b26ed6a2c25 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-09-16Convert to lambda or member referenceCarsten Hammer3-22/+3
Convert anonymous inner classes to lambda expressions or member references. Change-Id: I9943f1474f63a426db9091567c344b7f31a16c88 Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
2019-09-16Bug 549663 - Eclipse Quick Text Search: Scroll in Preview WindowI20190916-1800Paul Pazderski1-4/+6
Change-Id: Ie2f359af87d287cc8bb402c91f8b0394041889da Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-16Remove unnecessary type specificationsCarsten Hammer10-12/+12
Since Java 7 the diamond operator can be used instead of explicit type parameters. Version bumps for 4.14 Change-Id: I911081e0d0d22f71e50c7e00ae6283b6ae0441ea Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de> Also-by: Karsten Thoms <karsten.thoms@itemis.de>
2019-09-16toString() on arrayCarsten Hammer1-1/+1
toString() implementation for arrays does not convert array contents to String, rather it will print array's type and hash code (defined as identity hash code). To get string representation of contents of the array, the array could be for example wrapped into Arrays.asList(), as Collections produce content representation in their toString(). Change-Id: Ic771aaaf978d7c943a087994a667e7b4bb5e46c3 Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
2019-09-16Bug 551070 - Use multicatch blocks if possibleLars Vogel6-16/+6
Version bump for 4.14 Change-Id: I7d029cc8e464524f07c7ac9bb2a943fd2305ebb8 Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com> Also-by: Karsten Thoms <karsten.thoms@itemis.de>
2019-09-16[Quicksearch] Simplify line number calculationMichael Keppler1-11/+4
It's not necessary to deal with font metrics to get the number of lines being displayed in the preview area. Change-Id: Id450be2e2f2596c6a2f96683b772e85fed5d4890 Signed-off-by: Michael Keppler <michael.keppler@gmx.de>
2019-09-16Bug 547683 - Add non-UI Thread access to last known selectionMickael Istria14-14/+320
Adds ITextViewerExtension9.getLastKnownSelection() method that gives access to last known value for the selection without requiring UI Thread. The new Generic Editor test case shows how this can be leveraged in ContentAssistProcessors. Change-Id: I8a4831c08f7ff1ade07f2a12ad8d0d2c682a372c Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-09-15Bug 550350 - Improve performance of annotation ruler paint methodI20190915-1800Paul Pazderski1-56/+52
The old code gets particular bad when the range between lowest used and highest used layer grows. If someone decides to provide an Annotation with layer Integer.MAX_VALUE to get it always on top we get a serious performance issue. Old code iterates from lowest to highest used layer on each step checking for each annotation if it belongs to this layer. Even for all layers without any annotation. New code simply sort them by layer first and iterate straight over this list. Same result but much faster. Change-Id: I6d723207f4d12b1b10001034e82a9c9d741881ce Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-15Bug 550288 - [Quicksearch] Dialog shows "Searching..." even when therePaul Pazderski4-3/+14
are no search parameter Drop work queue when stopping due to empty filter string. Change-Id: I9e39eb948203352b63e09cad6193a2d0ceaf87e7 Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-13Hashcode used on arrayI20190914-1800Carsten Hammer1-1/+1
hashCode for array instances is inherited from java.lang.Object, and it is based on the array's reference rather than on array's contents. In order to obtain a more reasonable hashCode, which reflects contained objects or values, use Arrays.hashCodeor Arrays.deepHashCode() Change-Id: I66956e7d4242f751d6fc28d4636caa9b65f4141d Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
2019-09-13Bug 550995 - Enable API check for new bundles introduced in 4.13I20190913-1800Mickael Istria1-4/+0
Change-Id: I4bf8084014a106eb6a6c5545c66bcb93a56e561d Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-09-13Bug 465914 - [Graphics] New filter iconMatthias Becker6-2/+2
Change-Id: I32b5dbf562156be1621a13c874f0beaa07374cec Signed-off-by: Matthias Becker <ma.becker@sap.com>
2019-09-11Bug 550471 - Improve compatibility of new TextUtilities.indexOfI20190912-1800Paul Pazderski2-4/+28
Old implementation allowed negative offsets then the improved variant must also. Change-Id: Idf732397d62419690f3f870e590178b3ff0bcbbd Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-11Bug 550471 - Improve and deprecate TextUtilities.indexOfI20190911-1805Alexander Kurtakov1-1/+1
Fix javadoc warning introduced with previous commit on this bug. Change-Id: Id0bdcab2ba4c39e979317db0e318b999dd9e4a9e Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-09-10Bug 550471 - Replace usage of TextUtilities.indexOf withI20190910-1800Paul Pazderski2-22/+22
MultiStringMatcher TextUtilities.indexOf is deprecated and MultiStringMatcher is (especially when reused) faster. Change-Id: I44eef426cf5c2faedd47a57ec09641aae8700166 Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-10Bug 550473 - Add faster nextDelimiter utility methodPaul Pazderski6-17/+99
TextUtilities.indexOf is quite often used to search for the default delimiters. While the new MultiStringMatcher is already fast this method can still be up to ten times faster for this special case. Change-Id: Iebd4fcc0efb0d9d1e3031954c8e640bb3a789fa1 Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-10Bug 550471 - Improve and deprecate TextUtilities.indexOfPaul Pazderski2-48/+81
Existing TextUtilities.indexOf got a quite ugly return value and some strange behaviour in details (e.g. how it match empty strings). It is also superseded by the new MultiStringMatcher. The implementation is slow (especially for larger inputs) but must be retained at least for some years. This change provides a faster and fully compatible reimplementation based on MultiStringMatcher. Change-Id: I54c471ddd29a6aeb111151116e392dc8b8f8033a Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-09-10Bug 550396 - Speed up OverviewRulerThomas Wolf7-9/+153
OverviewRuler computed the full pixel height of the full text, which is expensive if the widget doesn't have a fixed line height, for instance when word-wrapping is enabled. However, OverviewRuler is interested in this value only if it is strictly smaller than the height of the editor canvas. Speed up the computation by stopping if the summed pixel height of lines becomes larger than the height of the canvas. Includes of 4.14 version update Change-Id: Iace27158689a4ffb4a345124cfa46cc4c4260f06 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-10Bug 550438 - MultiStringMatcher: use a Consumer to collect matchesThomas Wolf3-36/+51
Offer a method that reports matches via a Consumer instead of returning them in a list. Useful if there are lots of matches, since it enables the caller to store or otherwise process matches in any way it wants. Change-Id: I8b35056dae16d8e5eee67a35f2852677e6e56732 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-10Bug 550438 - MultiStringMatcher (leftmost-longest): exit earlierThomas Wolf6-31/+108
We may return an existing sub-match right away on a failover if its offset is smaller than the start offset of the path we switched to. Store the node depth in the trie nodes; this gives us access to this information. New tests that verify where in the text searched the algorithm stops searching. scan003 is the test that motivated this change. The new code stops scanning at index 5, while the old code did this check only on the final match on the new path at index 10. Also slightly simplify the implementation of indexOf() by removing the 'failover' flag. Change-Id: I3066680450a2d5027703e06afba7833b81d12127 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-09-06Bug 550767 - POM and product version change for 4.14 releaseI20190910-0815I20190910-0145I20190909-1520I20190909-1425I20190909-0925Niraj Modi21-23/+23
Change-Id: I2c4bd92c6c1243366afa1cf5db4d5052794c66fa Signed-off-by: Niraj Modi <niraj.modi@in.ibm.com>
2019-09-03Bug 550336 - Staging view freezes on commit (NPE inY20190919-0900Y20190916-0900Y20190914-0255Y20190913-0735Y20190912-0900Y20190912-0055Y20190910-0005Y20190909-0900Y20190905-0900Y20190903-1130S4_13_0_RC2aS4_13_0_RC2R4_13I20190916-1045I20190907-1130I20190906-1800I20190906-0940I20190906-0410I20190904-2200I20190904-1805I20190904-0605I20190903-2155I20190903-1800I20190903-1410I20190903-1110I20190903-0605R4_13_maintenanceKalyan Prasad Tatavarthi1-2/+21
AbstractTextEditor$TextEditorSavable.isDirty) Temporary fix to prevent staging view from freezing Change-Id: If330422f4d655b5d331a6fc7f6c9e4b528dc28fb Signed-off-by: Kalyan Prasad Tatavarthi <kalyan_prasad@in.ibm.com>
2019-08-26Bug 550438 - MultiStringMatcher: improve commentsY20190902-0900Y20190829-0900Y20190826-1000S4_13_0_RC1I20190902-1800I20190902-0805I20190902-0600I20190901-1800I20190901-0600I20190831-1800I20190831-0600I20190830-1800I20190830-0550I20190830-0440I20190828-1800I20190828-0600I20190827-1800I20190827-0600I20190826-1800Thomas Wolf1-19/+31
Changes only comments. Change-Id: I684d96db07ce5d9b6e950c087fd067c56a375f72 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2019-08-24Bug 545252 - ConfigurableLineTracker: use the Aho-Corasick algorithmI20190826-0640I20190826-0415Thomas Wolf8-13/+999
The ConfigurableLineTracker had quadratic performance characteristics, making line-end detection even only with the standard line terminators extremely slow already on moderately sized sources. Add an efficient MultiStringMatcher using the Aho-Corasick algorithm to efficiently find any of a fixed set of strings in a text. The algorithm is a well-described efficient general-purpose multi-string matching algorithm based on a trie. Its main search loop is very simple; the more tricky bits are in the construction of the auxiliary links in the trie. The algorithm as described in 1975 returns all matches including overlaps within a text, but it can be adapted fairly easily to support the "leftmost longest match" semantics needed by ConfigurableLineTracker. The Aho-Corasick algorithm has a complexity of O(n + m + z), where n is the text length, m the sum of the length of patterns, and z the number of matches. For line end matching, this is roughly O(n + L), where L is the number of lines. Note that it can produce a quadratic number of matches on degenerate input (patterns "x", "xx", "xxx", and so on, and a text consisting only of "x"s). Adapt ConfigurableLineTracker to use the new MultiStringMatcher. The matcher provides a find() operation to find all (possibly overlapping) occurrences of the pattern strings; this is the normal way the Aho-Corasick algorithm works. An indexOf() method provides a way to efficiently find only the leftmost longest match. Since this new matcher is generally useful and fast, provide a builder interface through which pattern strings can be added iteratively before matching. Change-Id: I3e66482cfca271248caaad79157f843bc2c819d7 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch> Also-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-08-24Bug 550261 - "Searching..." does not stop in Quick Search dialogPaul Pazderski2-3/+11
Recognize a search which is suspended due to max number of results as inactive. Change-Id: Iee6c5dfb0d6e9eab7273d67ed67c194a9338850a Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-08-23Bug 549946 - [Generic Editor] Marker resolution link changes '&' intoAndrew Obuchowicz1-1/+2
mnemonic underline Disable mnemonics for marker resolution link. Change-Id: I0f5a49da250edfec5535893756155505e4b4b1e9 Signed-off-by: Andrew Obuchowicz <aobuchow@redhat.com>
2019-08-23Bug 547733 - Hover layout issues with composite hover (eg LSP4E)Andrew Obuchowicz2-12/+3
Fix bug where the resolution link was behind hidden in the generic editor. Change-Id: If791b036a26e887c37c5268ec9895c8afbaf21f3 Signed-off-by: Andrew Obuchowicz <aobuchow@redhat.com>
2019-08-22Bug 550327 - Move "Quick Search" pref page under "Preferences > General"I20190823-0840I20190823-0530Mickael Istria1-3/+5
Change-Id: I4e7a1c0caa83e41c8ce344a0c5aa4e4116478759 Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-08-19Bug 545252 - Improve IDocumentAdapterExtension in DefaultDocumentAdapterY20190822-0900Y20190819-0900S4_13_0_M3I20190821-1800I20190821-0600I20190820-1800I20190820-0855I20190820-0600I20190819-2355I20190819-0600Paul Pazderski2-47/+46
with copy-on-write approach For the old implementation when change forwarding is disabled the whole document content is copied and the line tracking information rebuild even if the document is not changed but only read. The new approach only copies the document if a change happens. Change-Id: I396a142d70268e33017117e9e99535ae37463b72 Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-08-18Bug 550101 - [Quicksearch] Strings not externalizedI20190818-1800Mickael Istria16-94/+223
Change-Id: I6dc5042b7b5a59a53114935642cffb2fa6e5dad6 Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-08-18Bug 550058 - [Quicksearch] Name mismatch in UI and N&NMichael Keppler2-6/+6
Change the dialog title to "Quick Search", such that the same label is used everywhere. Use an ellipsis in the menu item to indicate a following input dialog. Also remove unwanted text parts from the command, command category and actionset labels, and fix capitalization and grammar. Change-Id: I9886c9f39c9e1ffdf79478fdbdefb4696a5c8214 Signed-off-by: Michael Keppler <michael.keppler@gmx.de>
2019-08-15Bug 549663 - Quick search preview dialog mixed line offset and lineI20190817-1800I20190816-1800I20190816-0155Paul Pazderski1-1/+3
index Change-Id: I969063920308526e237347d8fb6b276215a87cf0 Signed-off-by: Paul Pazderski <paul-eclipse@ppazderski.de>
2019-08-15Bug 550042 - Compare ignored file extensions case insensitiveY20190815-0900Michael Keppler1-7/+6
Use case insensitive comparison for ignored file extensions in quicksearch. Remove the duplications from the default extensions and sort them for easier reading. Also add some more extensions (.bmp, .com, .jpeg). Change-Id: Idc1855921167ed3d1635ba0cae4b66444c76b1cf Signed-off-by: Michael Keppler <michael.keppler@gmx.de>
2019-08-15Bug 550020 - quick search preview area too smallMichael Keppler1-1/+1
Use more weight in the sash weight distribution for the preview area. You must use a new workspace to see the result of this change. On my system this produces about 2.5 lines of preview text now instead of a single line. Change-Id: I840b535d079dcceedecc94bb0642a5cc39c3eb3a Signed-off-by: Michael Keppler <michael.keppler@gmx.de>
2019-08-15Bug 550031 - Remove superfluous slash from quicksearch pathsMichael Keppler1-1/+4
The results of the quicksearch dialog have a path column. All the paths displayed there started with a slash, which can be removed, since it adds no value. Change-Id: I4d21038e9343c4feff7137a0ba4ab6064a05eedf Signed-off-by: Michael Keppler <michael.keppler@gmx.de>
2019-08-15Fix layout of quicksearch preference pageMichael Keppler3-30/+38
The multi-line preferences for ignored names/prefixes/extensions do not resize and therefore have a different size than the maxLineLength preference at the top of the page. Remove the character width limitation, and set a layout data width instead. This makes the field editors resize as expected, such that all field editors have the same size. Change-Id: I8e5c7b186e7058e14949ee528f336011953a786d Signed-off-by: Michael Keppler <michael.keppler@gmx.de>

Back to the top