Workflow Engine .NET

Assembly: OptimaJet.Workflow.Core

Class CodeAutocompleteProvider

OptimaJet.Workflow.Core.Runtime.CodeAutocomplete.CodeAutocompleteProvider

Aggregates, stores, and routes autocomplete requests to ICodeAutocompleter implementations.

public class CodeAutocompleteProvider : ICodeAutocompleteProvider

Inheritance

  • Object

Implemented Interfaces

Constructors

public CodeAutocompleteProvider(Func<ILogger> getLogger, bool allowParallel = true, bool supressAutoAddDefaultAutocompleter = false, params ICodeAutocompleter[] autocompleters) #
Initializes a new CodeAutocompleteProvider with optional custom autocompleters.

Parameters

Name
Type
Description
getLogger
Func<ILogger>
A factory that returns a logger instance for diagnostics.
allowParallel
Boolean
true to use parallel enumeration when configuring and iterating autocompleters; otherwise false.
supressAutoAddDefaultAutocompleter
Boolean
When false, this provider adds DefaultAutocompleter if a default implementation is not supplied.
autocompleters
ICodeAutocompleter[]
Custom autocompleters to register.
public CodeAutocompleteProvider(Func<ILogger> logger) #
Initializes a new CodeAutocompleteProvider with parallel behavior and default autocompleter setup.

Parameters

Name
Type
Description
logger
Func<ILogger>
A factory that returns a logger instance for diagnostics.
public CodeAutocompleteProvider(Func<ILogger> logger, params ICodeAutocompleter[] autocompleters) #
Initializes a new CodeAutocompleteProvider with custom autocompleters.

Parameters

Name
Type
Description
logger
Func<ILogger>
A factory that returns a logger instance for diagnostics.
autocompleters
ICodeAutocompleter[]
Custom autocompleters to register.

Properties

Name
Type
Log #
Action<Exception, String>
Gets a callback that logs exceptions with both tracing and optional logger infrastructure.

Methods

public virtual void RunInitTask() #
Starts asynchronous initialization of all autocompleters that are not initialized.
public virtual void InitCodeAutocomletersThatNoInitialized() #
Initializes all configured autocompleters that have not been initialized yet.
public virtual void RegisterCodeAutocompleters(params ICodeAutocompleter[] completers) #
Adds custom autocompleters to the provider without initializing them.

Parameters

Name
Type
Description
completers
ICodeAutocompleter[]
Autocompleter instances to append.
public virtual void AddVariablesToDefaultCompleterIfEnable(IEnumerable<AutocompleteVariable> variables) #
Adds variables to the DefaultAutocompleter when it is present.

Parameters

Name
Type
Description
variables
IEnumerable<AutocompleteVariable>
Variables to add to the default autocompleter.
public virtual void AddVariablesToDefaultCompleterIfEnable(string varName, Type varType) #
Adds a single variable definition to the DefaultAutocompleter when it is present.

Parameters

Name
Type
Description
varName
String
Variable name used for autocomplete.
varType
Type
Variable Type whose full name is used by the default completer.
public virtual HashSet<AutocompleteItem> Get(string pattern, IEnumerable<string> usings, IEnumerable<AutocompleteVariable> variables) #
Gets autocomplete suggestions from all configured and already initialized autocompleters.

Parameters

Name
Type
Description
pattern
String
Text to match, for example, System.Thr.
usings
IEnumerable<String>
Usings in scope, for example, System or System.Threading.
variables
IEnumerable<AutocompleteVariable>
Variables that can be used in autocomplete.

Returns

Type
Description
HashSet<AutocompleteItem>
A distinct set of matching AutocompleteItem values.
protected virtual IEnumerable<ICodeAutocompleter> UseParallelOption(bool allowParallel, IEnumerable<ICodeAutocompleter> autocompleters) #
Applies the provider's parallel execution setting to the autocompleter sequence.

Parameters

Name
Type
Description
allowParallel
Boolean
true to return a parallel sequence; otherwise returns the source sequence as-is.
autocompleters
IEnumerable<ICodeAutocompleter>
The source autocompleters.

Returns

Type
Description
IEnumerable<ICodeAutocompleter>
An enumerable view of autocompleters used by this provider.

Fields

protected IEnumerable<ICodeAutocompleter> _autocompleters #
Registered autocompleters used by this provider.
protected readonly Func<ILogger> _getLogger #
Factory used to create logger instances for diagnostics.
protected readonly bool _allowParallel #
Indicates whether autocompleter enumeration should be prepared for parallel execution.