Giter VIP home page Giter VIP logo

autocomplete's People

Contributors

bobbylight avatar elvaro avatar paul-griffith avatar schlm3 avatar stevenupton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autocomplete's Issues

RoundRobinAutoCompletion does not show subsequent AutoCompletion if first' result is empty

Originally filed in the forum by Goran Schwarz:
"If the entered word doesn't exist in the first Provider, then no window is displayed even if the "second" (or third etc) Provider contains the desired word!
A better solution would be to display the first Provider a word exists in.
At next Ctrl-Space, go to next Provider that contains the word."

This was not an issue in my adoption of the AutoCompletion since I configured my CompletionProviders to always return at least one (possibly empty) completion. Like that, if the user presses backspace, the first (default) provider might get results.

But of course, if you don't do that (which is the case with all default providers), the RoundRobinAutoCompletion behaves unexpected (since it does not display anything then).
The default behavior should therefore be changed like Goran suggested.

Substitute printStackTrace and sout's with Logger

A lot of printStackTrace and System.out are called by AutoComplete (e. g. in class ASTFactory). This makes my program not very robust.

Could you substitute this two method calls with a java.util.Logger or something like that? Let me know if you need help!

Feature Request. Be able to configure not drawing rectangles on autocomplete

I would like a configuration option to disable the drawing of rectangles via OutlineHighlightPainter.java. I have managed to achieve this by commenting out the g.drawRect(...) statements, and would be happy to submit a pull request to make a configurable version available, so please let me know if there is a preferred configuration approach.

Chris

NOTE : Erroniously duped this issues in RSyntaxTextArea project, this issue replaces that one.

Register triggerKey for each Completion provider when using RoundRobinAutoCompletion

Hello Bob,
I have added 3 completion providers to a RoundRobinAutoCompletion Instance.
I want to display a pop up window for a particular completionProvider on a particular keystrok, i dont want to cycle through the completion providers before i get the require completion provider.

For example
shift @, should show only the 1st Completion Provider
shift $, should show only the 2nd Completion Provider
shift #, should show only the 3rd Completion Provider

Please is this possible.
Thanks in advance

Util.startsWithIgnoreCase() is non-standard NLS wise

probably a latent issue

String.java grepcode viewing showed that the implementation there uses
char c1 = str.charAt(indx);
char c2 = prefix.charAt(indx);
if (c1 != c2)
{
c1 = Character.toUpperCase(c1);
c2 = Character.toUpperCase(c2);
if (c1 != c2)
{
c1 = Character.toLowerCase(c1);
c2 = Character.toLowerCase(c2);
if (c1 != c2)
{
return false;
}
}
}

where Util.startsWithIgnoreCase() is
if (Character.toLowerCase(c1) != Character.toLowerCase(c2)) return false;

They are quite different.

AutoCompleteDescWindow

Hello,

Provided that the property 'showDescWindow' of AutoCompletion is set true, even the description is null, the AutoCompleteDescWindow will show 'No description available'. But it could be better to add the functionality that when the description is null, the AutoCompleteDescWindow will not show up.

Since, the methods for such purposes are private or package domain, is it possible to open the API for users to extend this to have their own customised one? Thank you very much.

Suggested copyright boiler-plate

/*
 * Copyright (c) 2012-20XX, Robert Futrell and the AutoComplete project contributors
 *
 * This library is distributed under a modified BSD license.  See the included
 * AutoComplete.License.txt file for details.
 *
 */

where XX is the most recent year that said file was modified

I will use this boiler-plate for files that I submit in a pull request.

No callback for AutoCompletionListener if only single choice and flag setAutoCompleteSingleChoices(true) is set

I am using RoundRobinAutocompleter with some DefaultAutocompletions, whereas one of them has alistener attached to it. Now when i perform a autocompletion with multiple possible solution the popup window is shown an dhidden, allowing me to react to the autocompletion finally choosen (attaching my callbackk to the HIDE Event). When the flag mentioned in the subject is set, of course for single choices no popup ishsown and thus not hidden...

Any hint / proposal how to achieve this ?

It would be cool to have a new callback type maybe called COMPLETE that allows to act on a completion being finalized independently if a popup is shown or not

br
Thomas

Combine multiple calls to AutoCompletion.refreshPopupWindow() into a single call (AutoCompletePopupWindow)

My auto-completion implementation provides searches for completions on the fly, each time it's requested to do so. I cannot rely on a static repository of keywords, so dynamic searches are the only way to provide completions for the language I'm supporting.

Each such search implies a slight GUI freeze, which is usually not even noticeable by the user - unless she has an opened AutoCompletePopupWindow and uses left and right keyboard arrow keys to move the caret. Each caret move causes a search to be initiated which requires a few miliseconds to complete, resulting in these requests piling up on EDT if the key is pressed for a longer time (and there's enough text to go through). This causes a noticeable slowdown.

I've already implemented a workaround for this issue, but would rather see it done by someone who knows the base code better. I simply wrapped AutoCompletePopupWindow.doAutocomplete() in a javax.swing.Timer, so if this method gets spammed by client code, it will get executed when things settle down a bit. Seems to work nicely.

I guess this is a request for you to implement something similar. It could prove as beneficial to other implementers as well, as searching larger static completion repositories might cause similar symptoms to manifest.

AutoCompletion Problem

Sorry for my English, if there is a mistakes in the text

@bobbylight , I had this problem:

ezgif-3-0bb2db3043

If I write ".", AutoCompletion stops working...

My Code:

DefaultCompletionProvider provider = new DefaultCompletionProvider();
provider.setAutoActivationRules(true, null);
//..........
//..........
Completion c1 = new BasicCompletion(provider, "TEST.one");
Completion c2 = new BasicCompletion(provider, "TEST.oonnee");
Completion c3 = new BasicCompletion(provider, "TEST.two");
provider.addCompletion(c1);
provider.addCompletion(c2);
provider.addCompletion(c3);
//..........
//..........
//..........
CompletionProvider provider = ......();
AutoCompletion ac = new AutoCompletion(provider);
ac.setParameterAssistanceEnabled(true);
ac.setAutoCompleteSingleChoices(false);
ac.setAutoActivationEnabled(true);
ac.setAutoActivationDelay(200);
ac.install(textArea);
//..........

How can I fix it??? ๐Ÿ˜”

Issues with ./gradlew install

Two issues prevent ./gradlew install from working:

  1. No group specified
  2. Signing should not be required (for folks not allowed to upload to Sonatype).

Signing should still be required when publishing artifacts to Sonatype/Maven Central.

Change visibility of ParameterizedCompletionInsertionInfo

Hello,
I want to create my own object Completion ( sort of TemplateCompletion with tooltip on the parameters like the FunctionCompletion) but i can't because the class :
org.fife.ui.autocomplete.ParameterizedCompletionInsertionInfo
is accessible only in package.

Can you make this class public please ?

Thank you. ๐Ÿ‘

Problem sorting logic.

I found a problem when mixing TemplateCompletion with other types.

The filtering logic uses getInputText ();
org.fife.ui.autocomplete.AbstractCompletionProvider.getCompletionsImpl (JTextComponent)
if (Util.startsWithIgnoreCase(c.getInputText(), text))

But sorting is done using the toString
org.fife.ui.autocomplete.AbstractCompletion.compareTo (Completion)

Make startParameterizedCompletionAssistance() public

This is useful when you want to insert text (Template Completion) in the document and use the Completion Assistance.

For example need to create a variable using a shortcut key;

Method - AutoCompletion.startParameterizedCompletionAssistance()

"Hook" into parser (Question)

I have a question regarding the language parser. I support a quick build and run feature in my text editor. But to compile java code, the java file has to have the same name as the class. Therefore, I attempted to parse the class name by myself, and failed miserably. Now I was wondering, is there a way to "tap" into the autocomplete parser and get some information like the class name?

Also further down the line, I would love to implement a sort of integrated color picker, that detects a color hex in the code and offers a color dialog to quickly adjust said color. So in a broader sense, is there some sort of "hooks" provided that allow to benefit from the already parsed text, so we don't have to do our own parsing?

AbstractCompletionProvider does not initialize it's "completions" member

I'd just like to point out, that it is unusual for an abstract class to expect that it's subclasses will initialize one of it's members. When I first tried to extend this class, I expected to be able to use "completions" member without having to initialize it. The same goes for methods which reference it. This lead to an exception I had to find a reason for by inspecting AbstractCompletionProvider source. The exception occurred when I attempted to use the clear() method, so it was not obvious why it got thrown at first.

This class should, at the very least, inform client code through documentation, that it requires special initialization. Or it should simply initialize properly on it's own. Client code can still override said member, if that's a requirement.

Doesn't work on Linux

On Windows and Mac, I can press Ctrl-space and get the popup box. On Ubuntu, it doesn't do anything.

[SOLVED] Demo does not work

Hi,
I tried your demo (in the README.md) with RSyntaxTextArea v2.6.1 and AutoComplete v2.6.1 and it does not work.
The popup list just does not show up, and sadly I have no more info.

Thanks,
- Skyost

Autocomplete description window does not show javadoc content on Windows OS

Hi,

We are using Autocomplete in a standalone Java application for editing Java code. When using the auto-complete functionality, the list of auto-complete choices is displayed properly.
The description window, which should contain the JavaDoc associated with the current selection, only displays the Java signature of the method with no javadoc content.
This occurs on Windows and Mac environments but works properly on Ubuntu 14.04.
We tried to set the JAVA_HOME environment variable on windows with no success...
Both JRE8 and JDK8 are installed on the windows environment.

Any help ?

Thanks.

Icon does not align vertically

The icons in the completion list does not align vertically.

In the CompletionCellRenderer class it says:

getIcon().paintIcon(this, g, 0, 0);

however if you write:

getIcon().paintIcon(this, g, 0, getHeight() /2 - getIcon().getIconHeight()/2);

the icon will be centered and look better :)

by the way, your work is great! it is very easy to understand and is performing very good, it is helping me a lot.

React when AutoCompletion shows/hides it's AutoCompletePopupWindow

I wanted to disable all RSTA parsers while auto-completion popup is being shown. It is safe to assume that a user doesn't want parsing to occur while she is still editing text. That's also how some IDEs handle such cases.

Unfortunately there's no way to listen for popup shown/hidden events. The only way to check the state of the popup seems to be the AutoCompletion.isPopupVisible(). So I'm currently doing dangerous and inefficient stuff like this (it's started when auto-completion is requested by user):

autoCompletionActiveTimer = new Timer(20, new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        if (ac.isPopupVisible()) {
            rstaSourceArea.removeParser(parser);
        } else {
            rstaSourceArea.addParser(parser);
            autoCompletionActiveTimer.stop();
        }
    }
});
autoCompletionActiveTimer.setRepeats(true);

I'd like to request support for a mechanism that would inform client code when the relevant state of AutoCompletion class changes.

Limited Autocompletion

AutoCompletion is limited to only one function call. Is there a way to fix this problem ?
If you want I offer some help :)

Dynamic auto completion based on (changing) word lists

I would like to have dynamic auto completion using text already available in the JTextArea (or supplied by the user of the library on-the-fly for each auto completion dialog). Compare this required behavior to Notepad++: Each word in the document becomes available for autocompletion so you can save yourself from typing those words again. This comes in handy when making a programming code editor as well since variables/function names and similar are obviously not just written once.

image

Is this already possible? If yes, how?

This issue is related to this one.

EDIT:

Nevermind, I solved it.

import org.fife.ui.autocomplete.*;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.fife.ui.rtextarea.RTextScrollPane;

import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import java.awt.*;

import static javax.swing.SwingUtilities.invokeLater;
import static javax.swing.UIManager.getSystemLookAndFeelClassName;
import static javax.swing.UIManager.setLookAndFeel;
import static org.fife.ui.rsyntaxtextarea.SyntaxConstants.SYNTAX_STYLE_JAVA;

public class AutoCompleteDemo extends JFrame
{
	private AutoCompleteDemo()
	{
		JPanel contentPane = new JPanel(new BorderLayout());
		RSyntaxTextArea textArea = new RSyntaxTextArea(20, 60);
		textArea.setSyntaxEditingStyle(SYNTAX_STYLE_JAVA);
		textArea.setCodeFoldingEnabled(true);
		contentPane.add(new RTextScrollPane(textArea));
		installAutoCompletion(textArea);

		Document document = textArea.getDocument();
		document.addDocumentListener(new DocumentListener()
		{
			@Override
			public void insertUpdate(DocumentEvent documentEvent)
			{

			}

			@Override
			public void removeUpdate(DocumentEvent documentEvent)
			{

			}

			@Override
			public void changedUpdate(DocumentEvent documentEvent)
			{
				installAutoCompletion(textArea);
			}
		});

		setContentPane(contentPane);
		setTitle("AutoComplete Demo");
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		pack();
		setLocationRelativeTo(null);
	}

	private void installAutoCompletion(RSyntaxTextArea textArea)
	{
		CompletionProvider completionProvider = createCompletionProvider();
		AutoCompletion autoCompletion = new AutoCompletion(completionProvider);
		autoCompletion.install(textArea);
	}

	/**
	 * Create a simple provider that adds some Java-related completions.
	 */
	private CompletionProvider createCompletionProvider()
	{

		// A DefaultCompletionProvider is the simplest concrete implementation
		// of CompletionProvider. This provider has no understanding of
		// language semantics. It simply checks the text entered up to the
		// caret position for a match against known completions. This is all
		// that is needed in the majority of cases.
		DefaultCompletionProvider provider = new DefaultCompletionProvider();

		// Add completions for all Java keywords. A BasicCompletion is just
		// a straightforward word completion.
		provider.addCompletion(new BasicCompletion(provider, Math.random() + ""));
		provider.addCompletion(new BasicCompletion(provider, "abstract"));
		provider.addCompletion(new BasicCompletion(provider, "assert"));
		provider.addCompletion(new BasicCompletion(provider, "break"));
		provider.addCompletion(new BasicCompletion(provider, "case"));
		// ... etc ...
		provider.addCompletion(new BasicCompletion(provider, "transient"));
		provider.addCompletion(new BasicCompletion(provider, "try"));
		provider.addCompletion(new BasicCompletion(provider, "void"));
		provider.addCompletion(new BasicCompletion(provider, "volatile"));
		provider.addCompletion(new BasicCompletion(provider, "while"));

		// Add a couple of "shorthand" completions. These completions don't
		// require the input text to be the same thing as the replacement text.
		provider.addCompletion(new ShorthandCompletion(provider, "sysout",
				"System.out.println(", "System.out.println("));
		provider.addCompletion(new ShorthandCompletion(provider, "syserr",
				"System.err.println(", "System.err.println("));

		return provider;
	}

	public static void main(String[] args)
	{
		// Instantiate GUI on the EDT.
		invokeLater(() ->
		{
			try
			{
				String laf = getSystemLookAndFeelClassName();
				setLookAndFeel(laf);
			} catch (Exception e)
			{ /* Never happens */ }
			new AutoCompleteDemo().setVisible(true);
		});
	}
}

Examples on how to use autocomplete

Do you have examples on how to use autocomplete?
How do I use the different autocomplete types?

I'm looking for a way to autocomplete things like a.b.c where typing "a." results in showing
every defined item that starts with a.

AutoCompletion freeze on TemplateCompletion insert (happens rare).

Step to reproduce (not always possible to get this issue):

  1. AutoCompletion inserts TemplateCompletion to the text area by user choice and it properly position the cursor regarding the template description: func(${cursor}).
  2. User moves cursor buy right arrow/end button to the end of inserted string.
  3. User press Enter and nothing happens and assistance do not finish completion insert operation.

Expected that the operation will be finished and cursor will be positioned to the new line.

Note1: It happens very rare but if happens there is no way to unblock assistance. We close the window with text area and open new one.
Note2: We use TemplateCompletion but not FunctionCompletion with the special purpose and understand the possibility of both of them.

I would appreciate any help or suggestion.

Code example we use in project:

DefaultCompletionProvider provider = new DefaultCompletionProvider();
provider.addCompletion(new TemplateCompletion(provider,"func","func(A)","func(${cursor})"));
...
...

JTextArea textArea = new JTextArea();
AutoCompletion initialization:
AutoCompletion ac = new AutoCompletion(provider);
ac.install(textArea);
ac.setAutoCompleteEnabled(true);
ac.setAutoActivationEnabled(true);
ac.setShowDescWindow(true);
ac.setParameterAssistanceEnabled(true);
ac.setAutoCompleteSingleChoices(false);
ac.setAutoActivationDelay(500);

TemplateCompletions don't work properly when caret is at offset 0 in document

To reproduce:

Open RSTALanguageSupport demo application. Select Java. Remove all text from editor. Ctrl+Space, scroll down to "sysout" or "try". Hit Enter to start that parameterized completion. Trying to type or tab through the params causes the ParameterizedCompletion state to deactivate.

I haven't quite pinned down the cause of this yet. I can see that the ParameterizedCompletionContext gets an instance of ParameterizedCompletionInsertionInfo from the Completion whose maxOffs is a Document Position pointing to offset 0 (as it should be). However, this offset isn't tracking the end of the Document when the template "body" is inserted. If the caret's offset > 0 when the completion is inserted, things work fine.

Also note that FunctionCompletion (a different implementation of ParameterizedCompletion) works fine at offset 0 (try entering a C function via CLanguageSupport at offset 0). So FunctionCompletions are doing the right thing and TemplateCompletions are not.

Demo links broken

Hi,

It seems like any of the demo links lead to a 404 page.

Thanks.

Circular comparison order in FunctionCompletion

Test case:

	@Test
	public void testCompletionOrdering1()
	{
		DefaultCompletionProvider provider = new DefaultCompletionProvider();
		final Completion c1 = new FunctionCompletion(provider, "add", "int");
		final Completion c2 = new VariableCompletion(provider, "indx", "int");
		final Completion c3 = new FunctionCompletion(provider, "Sub", "int");
		Assert.assertTrue(c1.compareTo(c2) < 0);
		Assert.assertTrue(c2.compareTo(c3) < 0);
		// (c1 < c2) and (c2 < c3), then it is implied that (c1 < c3)
		Assert.assertTrue(c1.compareTo(c3) < 0);
	}

Completion choices window should not hide when user hits backspace

Copied from the RSTA forum:

Autocomplete should be triggered when the last letter is deleted, for example by backspace.

Example:

  1. type "jav" => "java" is suggested
  2. continue with "javx" => nothing is suggested enymore
  3. type backspace to that we get back our "jav" => Still nothing suggested! The "java" suggestion should appear again.

Given Example doesnt even work :/

Well... I'm currently programming my own editor for a school-project.
When trying to add the Autocomplete everything works, but the autocompletition doesnt pop up....

AbstractCompletionProvider.removeCompletion() removes wrong completion

Test case:

    @Test
    public void testCompletionRemoval()
    {
        final DefaultCompletionProvider provider1 =
            new DefaultCompletionProvider();
        final ArrayList<Completion> box1 = new ArrayList<Completion>();
        final Completion c1 = new BasicCompletion(provider1, "BAAA");
        final Completion c2 = new BasicCompletion(provider1, "beta");
        final Completion c3 = new ShorthandCompletion(provider1, "BETA", "BETA");
        box1.add(c1);
        box1.add(c2);
        box1.add(c3);
        provider1.addCompletions(box1);
        final DefaultCompletionProvider provider2 =
            new DefaultCompletionProvider();
        final ArrayList<Completion> box2 = new ArrayList<Completion>();
        final Completion c4 = new ShorthandCompletion(provider2, "alpha", "alpha");
        final Completion c5 = new BasicCompletion(provider2, "ALPHA");
        final Completion c6 = new BasicCompletion(provider2, "ZZZZZ");
        box2.add(c4);
        box2.add(c5);
        box2.add(c6);
        provider2.addCompletions(box2);
        // Check we can remove the "BETA" completion.
        Assert.assertTrue(provider1.removeCompletion(c3));
        // Check that the "beta" completion should remain.
        List<Completion> betaList = provider1.getCompletionByInputText("beta");
        Assert.assertEquals(1, betaList.size());
        for (Completion comp : betaList)
        {
            Assert.assertEquals("beta", comp.getInputText());
        }
        // Check we can remove the "ALPHA" completion.
        Assert.assertTrue(provider2.removeCompletion(c5));
        // Check that the "alpha" completion should remain.
        List<Completion> alphaList = provider2.getCompletionByInputText("alpha");
        Assert.assertEquals(1, alphaList.size());
        for (Completion comp : alphaList)
        {
            Assert.assertEquals("alpha", comp.getInputText());
        }
    }

AbstractCompletionProvider.getCompletionByInputText() result not durable

Test case below. The test fails at the second set of checks.

/*
 * 12/14/2016
 *
 * TestDefaultCompletionProvider.java - test basic completion provider implementation.
 * 
 * This library is distributed under a modified BSD license.  See the included
 * AutoComplete.License.txt file for details.
 */


package org.fife.ui.autocomplete;

import java.util.List;

import org.junit.Assert;
import org.junit.runners.MethodSorters;

import org.junit.FixMethodOrder;
import org.junit.Test;



/**
 * Test cases for DefaultCompletionProvider
 *
 * @author Thomas Wang
 */
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TestDefaultCompletionProvider extends DefaultCompletionProvider
{

    @Test
    public void testGetCompletionByInputText()
    {
        DefaultCompletionProvider provider = new DefaultCompletionProvider();
        final Completion c1 = new BasicCompletion(provider, "BETA");
        final Completion c2 = new BasicCompletion(provider, "beta");
        final Completion c3 = new BasicCompletion(provider, "ALPHA");
        final Completion c4 = new BasicCompletion(provider, "alpha");
        final Completion c5 = new BasicCompletion(provider, "GAMMA");
        final Completion c6 = new BasicCompletion(provider, "gamma");
        provider.addCompletion(c1);
        provider.addCompletion(c2);
        List<Completion> betaList = provider.getCompletionByInputText("beta");
        // Check for correct properties of returned list.
        Assert.assertTrue(betaList.size() == 2);
        for (Completion comp : betaList)
        {
            Assert.assertTrue("beta".equalsIgnoreCase(comp.getInputText()));
        }
        provider.addCompletion(c3);
        provider.addCompletion(c4);
        provider.addCompletion(c5);
        provider.addCompletion(c6);
        // Check for correct properties of returned list.
        Assert.assertTrue(betaList.size() == 2);
        for (Completion comp : betaList)
        {
            Assert.assertTrue("beta".equalsIgnoreCase(comp.getInputText()));
        }
    }

}

AutoComplete tree

I want to be able to auto compete based on the dot key. Ie I have something like:

ABC.DEF
ABC.GHI
ABC.KLM
ABZ.STU
ABZ.XYZ

if user types AB and then autoCompletes, I want to only show ABC and ABZ as the two valid options.
If user types ABC. and then autoCompletes, I want to only show DEF, GHI, and KLM as the 3 only valid options.

How do I set that up? I can create BasicCompletion's for ABC and ABZ to get the first part working, but how do I get the second part to work? I want the auto complete list to be context dependent. The dot key doesn't seem to get recognized properly when doing completions.

ParameterizedCompletionDescriptionToolTip is not sized correctly

We are currently using RSyntaxTextArea (2.5.3) and AutoComplete (2.5.1) in our application in a script editing context. But there seems to be an calculation issue in tool tip bounds when using a parameterized completion.

It looks like it is not appropriate for multi-lined text.

autocompleteissue

Is this a known issue? Could you fix the height of the tooltip? Or are we doing something wrong?

Best regards,
SlimShady

Is there any easy way to get the jar file?

Hi bobbylight,

I just wanted to ask you, if there is any maven or direct download for the jar, so I don't need to compile all your code myself.

I hope you can help me and I don't look too dumb :)

Thanks in advance
Mr_SoUndso

Dynamic options

Hello,
Really nice work.
I was wondering if's it a way to clear the options and put new ones based on what text is inserted in the text component.

RoundRobinAutoCompletion - show an info label for each CompletionProvider

I'm moving RSTA #166 to here. From @eitzenbe:

For the round robin AC it would be cool to have the option of displaying a label for each provider currently shown:
something like adding a set/get name method to the CompletionProvider interface, that is then used by the AutoCompletion to add a JLabel with that name to the contentpane of the AutoCompletePopupWindow , as it is a BorderLayout -> contentPane.add(JLabel, NORTH)

TipUtil uses incorrect color for description editor pane

The background color of the description editor pane is being set based on the Color in ToolTip.background, but the corresponding foreground color is being set based on Label.foreground instead of ToolTip.foreground. The result is that in some darker look and feels (where labels are white but tooltips still have yellow backgrounds) the description text is difficult to see on top of the background.

Changing the label foreground color isn't a great solution, because the rest of the look and feel relies on the labels being a light color on top of the dark backgrounds.

Screen Shot 2019-08-03 at 5 07 49 PM

AbstractCompletionProvider#getCompletionByInputText does not find completion

The problem is AbstractCompletionProvider holds completion sorted ascending in natural order but getCompletionByInputText method does search in case insensitive mode.

The workaround for descendant providers is to sort completions in case insensitive mode before getCompletionByInputText call and after turn previous sorted order back.

The similar situation could be obesrved to getCompletionsImpl method.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.