Theme Editor: auto-completion improvements:

- include reference completions in value completions (if already entered text is empty)
- order completions: 1st color functions, 2nd @refs, 3rd $refs
- exclude platform specific keys from reference provider
This commit is contained in:
Karl Tauber
2020-07-11 13:35:59 +02:00
parent 6b148a59da
commit 8603ca827e

View File

@@ -144,7 +144,7 @@ class FlatCompletionProvider
private CompletionProvider getValueProvider() {
if( valueProvider == null )
valueProvider = new ValueCompletionProvider();
valueProvider = new ValueCompletionProvider( getReferenceProvider() );
return valueProvider;
}
@@ -286,13 +286,16 @@ class FlatCompletionProvider
completions.clear();
for( String key : keys ) {
if( key.startsWith( "*." ) )
if( key.startsWith( "*." ) || key.startsWith( "[" ) )
continue;
if( !key.startsWith( "@" ) )
key = "$".concat( key );
completions.add( new BasicCompletion( this, key ) );
BasicCompletion completion = new BasicCompletion( this, key );
if( key.startsWith( "@" ) )
completion.setRelevance( 1 );
completions.add( completion );
}
Collections.sort(completions);
}
@@ -307,7 +310,8 @@ class FlatCompletionProvider
extends BaseCompletionProvider
implements ParameterChoicesProvider
{
ValueCompletionProvider() {
ValueCompletionProvider( CompletionProvider parent ) {
setParent( parent );
setAutoActivationRules( true, null );
setParameterizedCompletionParams( '(', ",", ')' );
setParameterChoicesProvider( this );
@@ -361,6 +365,7 @@ class FlatCompletionProvider
};
f.setParams( params );
f.setRelevance( 10 );
addCompletion( f );
}